whileを使った処理の繰り返し
これも形で覚える。
while( 条件 ){
// 処理内容
}
・条件を満たす間は繰り返し処理内容を実行
・条件で使える「==」とか「>」はifのときと同じ
5回処理を繰り返す場合は
int i;
i = 1;
while (i <= 5) {
System.out.println(i);
i++; // ←これがないとループする
}
・「i」の初期値はwhile前に「i=1」で設定
・「i」が「5」以下のときwhile内を実行
・while内で「i++」として1回処理される毎に「i」を「1」加算
・「i」が「6」になったら、条件から外れるので終了
こんなところかな?
いつものフォーマットに↑のやつを追加して実行。
それっぽく動いた。
0回繰り返し
要するにwhile内の処理を一度も実行しない。
whileより前で、条件が一致しないようにすればいい。
int i;
i = 6;
while (i <= 5) {
System.out.println(i);
i++;
}
whileの前で「i=6」になってるからwhileの条件を満たさず
whileはスルーされる。
なぜ0回繰り返しをわざわざ試したかと言うと
次の「do-while」につながっていて。。。
do-whileを使った処理の繰り返し
whileと同じような感じなのだけど、とりえあえず
これも形で覚えてしまう。
do {
// 処理内容
} while ( 条件 ); // ← ;を忘れがちなので気を付ける
・条件を満たす間は繰り返し処理内容を実行
・条件で使える「==」とか「>」はifのときと同じ
ここまではwhileと同じで、whileと異なるところが。
・必ず一回はdo-while内の処理内容が実行される
条件を満たしていなくても、一度はdo-while内の処理を実行する。
条件を後ろに書いてるからそうなる、ってイメージしておくか。
■ do-while前で条件を満たすとき
int i;
i = 1;
do {
System.out.println(i);
i++;
} while (i <= 5);
まぁ、whileのときと同じ結果になる。
■ do-while前で条件を満たさないとき
int i;
i = 6;
do {
System.out.println(i);
i++;
} while (i <= 5);
なるほど、確かに一度はdo-while内の処理が実行されてる。
条件に関係なく、一度は処理を実行したいってときは
「while」ではなく「do-while」を使うってことね。
おそらくそういう処理をしたい日が来るのだと思う。