前回のおさらい
前回はif文とswitch文を学びました。
簡単におさらいすると
| 構文 | 意味 | 用途 |
| if文 | trueの時に処理を実行。 | 1つの条件だけ判定する時。 |
| if-else文 | falseの時にも実行処理ができる。 | 条件が成り立たないfalseの場合の処理も書きたい時。 |
| switch文 | 条件の値が一致する case の処理を実行する。 | 値そのもので分岐をしたい時。 |
こんな感じになります。
もし忘れてるなぁと思ったら1度振り返ってみましょう!
while文
まずはコードを。
int i = 1;
while (i <= 5) {
System.out.println(i);
i++; //++はiを1だけ増やす
}
ここで大事なのは()の中の条件式が「true」の場合、while文の中身の処理を繰り返すことです!
そして初見の「i++」ですが、今は「i」という変数を1増やす書き方と覚えておくといいでしょう。
本来はもっと説明が必要ですが、気になった方は是非調べてみましょう。
では処理の流れを見ていきます。
①まず変数「i」に1が代入される。
↓
②whileの条件式(i <= 5)を評価し、while文の中身の処理を実行します。
ここでは「i」の値が5以下であれば処理を繰り返すという意味になりますね。
↓
③while文の中身の処理へ。
System.out.println(i);を実行。出力されるのは「1」になります。
その後、「i++」で値に1が加算されます。(ここで i は2になる)
↓
④一通りwhile文の中身の処理が終わったので、再び条件式のところに戻ります。
ここで「iは2」に変化しています。
条件式は「i <= 5」なので、再び中身の処理を繰り返し実行します。
↓
⑤上記を繰り返し「i」の値が6になります。
条件式を見ると「i <= 5」は「5以下であればtrue」「6以上であればfalse」を返すようになっています。
つまり、「i」の値が6になるとwhile文はその中身の処理を実行しません。
よって実行結果は以下のようになります。
//実行結果
1
2
3
4
5
なんとなく理解できるでしょうか。
while文は条件式がtrueである限り、無限に繰り返します。
falseの場合に繰り返しを終了します。
上記のコード例だと「i++」を書かないと、無限ループに落ちいるということです。
無限ループは避けるべき状態なので、while文を使う時は必ず気を付けましょう。
当然ですね。5以下の時は繰り返すという意味なのですから、変数「i」がずっと1のまま変化しなければずっとtrueになります。
| 構文 | 意味 | 適した用途 |
| while(条件){ 処理 } | 条件がtrueの間、処理を繰り返す。 | 回数が明確でない処理。 |
まとめ
今回はボリューム的には軽かったでしょうか?
実は繰り返しの構文はもう1つあります。
それが「for文」とよばれるものです。
今回紹介してもよかったのですが、なんとなく分けて説明しようという個人的なものなので深い意味はありません。
事前にお伝えしておくと
while文が繰り替えしの回数が明確でないのに比べて
for文は「何回繰り返す」という繰り返しの数を定めることができます。
興味ある方は事前に調べておくと、次回スムーズに進められるかもですね!
ではではこれで!次回:繰り返し(for文)


コメント