◆繰り返し(ループ)
前回は「演算子」について説明しました。
そのとき少し触れた「繰り返し」という処理について説明していきます。
「繰り返し」は同じ処理を何度も繰り返す場合に用いられるもので、「反復処理」や「ループ処理」とも言われています。
文字通り処理を繰り返すので、ループを抜ける条件を指定しないと無限ループになってしまいます。
「繰り返し」は大きく分けて2つ。
「for文」と「while文」になります。
この2つをこれから説明します。
1.for文
for文は繰り返しを実行する「回数」を指定したい場合に用いられます。
例を見てみましょう。
public class Sample_for { public static void main(String[] args) { for (int x = 0; x < 10; x++) { System.out.print(x); } } }
このプログラムを実行すると
0123456789
と表示されます。
ではfor文の部分はどのような処理を行われているのでしょうか。
for文は
for (①初期化; ②条件式; ③継続処理) {
④繰り返す処理
}
という構成をとります。
①初期化・・・int x = 0;
int型の変数「x」を宣言して初期値として0を代入します。
②条件式・・・x < 10;
「x」は10未満の場合は「true」、それ以外は「false」になります。
③継続処理・・・x++
計算後「x」に1を加えます。
④繰り返す処理・・・System.out.print(x);
「x」の値を表示します。
以上を組み合わせると
「xが10未満のとき、初期値0の「x」に1を足し続け、それを表示します。」ということになります。
つまり、「xが0~9までの計10回表示させる」ということができるようになるのです。
これを利用すると「○○回表示させる」のようなプログラムを作ることができるようになります。
2.while文
- while文は「特定の条件になったときにループを抜ける」というような場合に多く用いられます。
「回数」よりも「ループを抜ける条件」に重きが置かれます。
while文の構成は
while (条件式) {
繰り返す処理;
}
このようになっています。
条件式はboolean型で「true」のとき処理を繰り返し続けます。
ではサンプルをみてみましょう。
public class Sample_while { public static void main(String[] args) { int i = 0; while (i != 10) { i++; } System.out.print(i); } }
「i != 10」は「i」が10でないとき処理を繰り返すという意味を持ちます。
このプログラムを実行すると「10」と表示されます。
つまり「iが10になったのでループを抜けた」ということです。
このようにループを抜ける条件をする場合に「while」が使われます。
- while文には「do while」という使い方があります。
もし条件式が最初から「false」ならば、while文の中の処理は1度も実行されません。
しかし、処理は最低1回は実行したい。そのような場合に「do while文」が使われます。
例をあげてみます。
public class Sample_while { public static void main(String[] args) { int i = 10; do { i++; } while (i < 5); System.out.print(i); } }
このプログラムを実行すると「11」と表示されます。
プログラムは上から順番に実行されるのでwhileよりdoが先に実行されてからwhileに入ります。
そうするとインクリメントによって「i」に1が加算され11となります。
次に条件式 (i < 5)が「false」になるのでループを抜けます。
最後に「i」の値が表示されます。
同じ繰り返し処理でも「for文」と「while文」がありました。
for文・・・・・繰り返す回数を指定
while文・・・繰り返しを抜ける条件を指定
それぞれこのような違いがあります。
そしてそれぞれ条件式はboolean型で、「true」の場合に繰り返し処理を実行します。
while文にはdo whileという使い方があり、「false」でも最低1回処理を実行する場合に使います。
次回は条件分岐の説明をしたいと思います。