Javaのwhile文は、forと同じように繰り返しで使う文法だ。whileはforよりもシンプルな構造をしており、使い易い文法になっている。
このページではwhile文についてまとめてみた。参考にしてほしい。
while文の基本
while文はJavaだけではなく色々なプログラミング言語に用意されている文法だ。「条件を満たす間、処理を繰り返してくれる」という単純な構造になる。
例えば次のような処理はwhile文の典型だ。
残金が100円以上ある限り、おでんを買い続けるという処理になる。
Javaのwhile文の使い方
while文が他の繰り返し文と異なっているのは、式で表された条件が成り立っている間は繰り返しが続くという点だ。
for文のような初期化や更新はない。もし必要ならば、適切な場所にコードを追加することもできる。
while (式) {
文;
}
while文の繰り返し書き方の基本はこれだけだ。とても簡単なのがわかる。
while文による繰り返しがどのような順序で実行されていくのか、順を追って説明する。
- ステップ1-式の評価:式がtrueであれば、ステップ2が実行される。式がfalseならば、繰り返しは終わる。
- ステップ2-文の実行:文が実行される。
- ステップ3-実行が正常に終了すればステップ1から繰り返す。しかし、実行が中断されれば繰り返しは終わる。
while文の繰り返しを、いくつかのケースに分けてどんな動きをするか考えてみよう。最初に、式がtrueになるケースだ。
1 2 3 4 |
number = 1; while (number < 5) { number ++; } |
このケースでは、numberがwhile文の中でインクリメントされて、5に到達するとwhile文の繰り返しから抜け出す。では、number = 4のケースはどうだろう。
1 2 3 4 |
number = 4; while (number < 5) { number ++; } |
まだ、while文の中でインクリメントされ、5になると繰り返しを終える。では、number = 5はどうだろうか。
1 2 3 4 |
number = 5; while (number < 5) { number ++; } |
numberが5を超えると、もうwhile文の中の繰り返しは実行されない。
では、この点をサンプルプログラムで確認してみよう。
while文の動作を確認するサンプルプログラム
このサンプルプログラムは、numberに代入する初期値を変え、while文の中でnumberの値を表示することによって繰り返しの様子を確認できるようにしたものだ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public class WhileFromOneToFive { public static void main(String[] args) { int number = 1;//[1] while (number < 5) {//[2] number ++;//[3] System.out.println("[4] number = " + number); } number = 4;//[5] while (number < 5) {//[6] number ++;//[7] System.out.println("[8] number = " + number); } number = 5;//[9] while (number < 5) {//[10] number ++;//[11] System.out.println("[12] number = " + number); } } } |
実行結果
[4]は2から5まで表示されているので、numberが1から始まると5になったとき繰り返しが終わることが分かる。[8]も同じで、5になったとき繰り返しが終わっている。[12]は表示されていない。つまり、繰り返しは一度も起きていないことが分かる。
1 2 3 4 5 |
[4] number = 2 [4] number = 3 [4] number = 4 [4] number = 5 [8] number = 5 |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1] 変数numberを宣言し、初期値の1を代入する。
- [2][3] numberを5になるまでインクリメントする。
- [4] numberを表示する。
- [5] 変数numberに4を代入する。
- [6][7] numberを5になるまでインクリメントする。
- [8] numberを表示する。
- [9] 変数numberに5を代入する。
- [10][11] numberを5になるまでインクリメントする。
- [12] numberを表示する。
まとめ
このページではJavaのwhile文について簡単にお伝えした。非常にわかりやすく使い易い文法なので、使い方を覚えてしまおう。