for文やwhile文では条件に一致したら繰り返し処理を実行するといった文なので、条件によっては一度も実行されないことがあります。一度繰り返し処理を行ってから条件に一致するか判断したい時は、do while文を使います。
do while文の書き方
1 2 3 |
do 処理; while (条件); |
1 2 3 4 5 6 |
do{ 処理1; 処理2; ・ ・ }while(条件); |
doとwhileの間に処理内容を記述し、while横の()の中に条件を記述します。処理内容をいくつか書く場合は、{}で囲います。
サンプルコード
それではiが0以下になるまで出力されるコードを記述してみましょう。
1 2 3 4 5 |
var i = 100; do{ console.log('i= '+i); i = i-10; }while(i >= 0); |
処理の流れ
まずサンプルコードの1行目でiという変数に100を代入します。do while{}囲われた繰り返し処理がfalseの場合でも実行され、100が出力されたあと、5行目の処理で100から10を引いて代入しています。
6行目で条件の判定を行います。trueの場合はまた繰り返し処理が行われます。falseになった場合は処理が止まります。
実行結果
1 2 3 4 5 6 7 8 9 10 11 |
i= 100 i= 90 i= 80 i= 70 i= 60 i= 50 i= 40 i= 30 i= 20 i= 10 i= 0 |
iが0になるまで出力されました。
do while文をwhile文で書くと
1 2 3 4 5 6 |
var i = 100; console.log('i= '+i); while(i >= 0){ console.log('i= '+i); i = i-10; } |
条件がfalseになったとしても必ず実行する処理をwhile文の前に書くことで同じ処理をさせることができます。
実行結果
1 2 3 4 5 6 7 8 9 10 11 |
i= 100 i= 90 i= 80 i= 70 i= 60 i= 50 i= 40 i= 30 i= 20 i= 10 i= 0 |
同じ実行結果になりました。