do while文の書き方
前回はwhile文を使用した繰り返し処理を説明しましたが、while文で継続条件に関わらず必ず1回は処理が実行される書き方があります。それが「do while」文です。
do while文の書き方 目次
1.do while文とは
while文では継続条件を自分で指定しますので、場合によってはそもそも継続条件を満たしておらず、1回も実行されずにループを終了することがあります。しかし、初めの1回だけは必ず処理を実行したいような場合もあります。そういう時に使用するのが「do while」文です。
while文では、ループ処理の開始時に条件判定をしてから処理実行(前判定と言います)となっていたところ、do while文では、先に処理を実行してから条件判定をする(後判定と言います)、という違いがあります。
2.do while文の書き方
do while文の書き方は次の様になります。
do {
実行したい処理
} while( 継続条件 );
while文と違い、一行目は「do」だけになります。これは単純に処理を実行する!と解釈して結構です。プログラムは上から下に進んでいきますので、必ず2行目の実行したい処理が実行され、最後の3行目のところで継続条件の判定になります。ここで必ずセミコロンを入れます。
この継続条件でtrueになった場合は、ループして再度実行したい処理に移り、falseだった場合はそのままループを終了します。
package pac01; public class HelloWorld { public static void main(String[] args) { int i = 0; // do while文 do { // ここは必ず実行される System.out.println("iは" + (i + 1) + "回目の実行です。"); // カウンタ変数iを自分でインクリメントしている i += 1; } while( i < 5 ); // ここで継続条件の判定 } } ------------------------------------------------------------------------ iは1回目の実行です。 iは2回目の実行です。 iは3回目の実行です。 iは4回目の実行です。 iは5回目の実行です。
3.do while文のフローチャート
do while文のフローチャート書くと次の様になります。
while文の時と比べて、処理の実行と継続条件の判定が逆になっていることが分かります。基本的な違いはそれだけです。
4.継続条件がfalseになる場合
そもそも、最初から継続条件がfalseになる場合でも、必ず1回は処理が実行されます。
package pac01; public class HelloWorld { public static void main(String[] args) { int i = 0; // do while文 do { // ここは必ず実行される System.out.println("iは" + (i + 1) + "回目の実行です。"); // カウンタ変数iを自分でインクリメントしている i += 1; } while( i < 0 ); // ここで継続条件の判定 } } ------------------------------------------------------------------------ iは1回目の実行です。
継続条件が最初からfalseになる状態でしたが、一回は処理が実行されていることが分かります。と言うよりも、11行目の時点ではまだ継続条件を記述した行が出現していないので、どちらにしても関係ないことになります。
最近のコメント