[繰り返し処理 関連記事]
今回は繰り返し処理の1つである「while文」についてみていきます。
「while文」は条件が真の間だけ与えられた文の実行を繰り返します。
基本構文
while(条件) { 繰り返し処理 }
この条件文は次のような手順で実行されます。 ※wikipedia引用
- 条件を評価する。条件が偽ならば、ループを終了する。
- 条件を満たす場合は処理を実行する。
- 条件の評価に戻る(1.に戻る)。
whileは条件を満たした場合のみ繰り返し処理を実行します。
ですので最初から条件を満たさない場合は1回も処理は実行されません。
サンプル
public class sample01 { public static void main(String[] args) { int count = 1; while(count < 10){ System.out.print(count); count++; } } }
繰り返し条件は「変数countが10未満」であることです。条件を満たしている間5~6行目の処理を実行します。6行目で変数countの値は1づつ増加し、条件を満たさなくなると繰り返しから抜けます。
break
public class sample01 { public static void main(String[] args) { int count = 1; while(true){ if(count < 10){ System.out.print(count); count++; }else{ break; } }//END while } }
whileの条件を満たしている間に強制的に繰り返し処理から抜けるには「break文」を使います。サンプルは条件に 「true」 としました。つまり永遠に条件を満たし続ける無限ループです。繰り返し処理ではif文により変数countが10未満かどうか判定しています。ifの条件式に満たさない場合は9行目でbreak文が処理され繰り返し処理から抜けます。
whileでは、このように無限ループにしてbreak文で抜ける処理を結構使います。例えばキーボードから入力値を取得し、入力値が条件を満たした場合のみ次の処理へ移る場合や、ゲームなどである条件を満たしたら終了など何回繰り返せばよいのか不明な場合によく使われます。
continue
public class sample01 { public static void main(String[] args) { int count = 1; while(count < 10){ if(count == 5){ count++;continue; } System.out.print(count); count++; } } }
break文はそこで繰り返し処理を終了しwhile文から抜けました。continue文も処理は終了するのですがwhileから抜けるのではなく次の繰り返し処理に移ります。
サンプルでは変数countが5のとき6行目の処理でcontinue文が実行されます。処理自体は終了されて8~9行目は処理されません。しかしwhile文から抜けるのではなく次の繰り返し処理に移るので4行目の処理に移ります。結果として8行目が処理されない「5」だけが表示されていません。
[繰り返し処理 関連記事]
「繰り返し処理 (while)」への1件のフィードバック