for文でなくwhile文を使う場面を解説します。
実際の開発現場でも多く用いられているであろう繰り返し処理。
主にfor文の方が用いられる場合が多いかと思います。
for文ではなく、while文を使った方がより便利な場面はどういったときか?
サンプルソースを用いて説明していきます。
for文を使うのは、ListやMapのsizeあるいはlength分だけ、という条件ですが
以下の処理の例を取り上げて見ていきます。
1.java.util.Randomを用いてランダム数値を取得
2.ランダム数値が正の数であり、かつ、下1桁が7の場合には処理を終了
上記の場合はいかがでしょうか?
for文で効率的に処理を行えるでしょうか?
こういったときは、while文を用いて以下のサンプルソースのようになります。
Random ran = new Random(); while(true) { int temp = ran.nextInt(); if(temp % 10 == 7) { System.out.println("ends value : " + temp); break; } System.out.println("continue value : " + temp); }
上記のように、何か特定のListやMapのサイズ分、といった明確な繰り返し処理の終了条件がない場合に
while文がかなり有効です。
逆に、上記の処理をfor文で書くのはちょっと難しいのでは、と思います。
Javaトップへ