【Java】繰り返し処理 for構文
プログラミングでは、同じ処理を何度も繰り返すことが多々あります。その繰り返し処理にはfor構文とwhile構文を使います。
ここではfor構文について説明します。
1.for構文とは?
for構文は、繰り返し回数を指定し、その回数になるまで同じ処理を何度も行う構文です。
2.for構文の形
for構文の形は以下です。
for(カウント用変数の初期化; 条件式; ループ処理){
ここに処理
}
- カウント用変数の初期化
カウント開始の数字を何にするか?を決めるものです。 - 条件式
カウント用変数の値に対する条件式です。カウント用変数が条件に合致(true)すれば処理を実行し続け、合致しなければ(falseならば)繰り返し処理を終了します。 - ループ処理
1回の繰り返し終了時に、どのくらいの数値をカウント用変数にプラス(場合によってはマイナスなど)するか?を決めるものです。
これだけではわかりにくいので、実際に数値を入れてみます。
int i;
for(i = 0; i < 3; i++){
System.out.println(i);
}
カウント用変数の初期値は0で、条件式は「i < 3」、ループ処理は「i++」です。
「i++」とは、変数iにプラス1することです。
すなわち「i = i + 1;」と同じ意味です。
以下にfor構文の挙動を説明します。
繰り返し回数 | カウント用変数の値 | 説明 |
---|---|---|
1回目 | 0 |
カウント用変数の値は0なので、条件式「変数iは3より小さい」を満たしています。つまりtrueなので変数値「0」が出力されます。そしてループ処理で変数iは数値がプラス1されて1になります。 |
2回目 | 1 | カウント用変数の値は1なので、条件式「変数iは3より小さい」を満たしています。つまりtrueなので変数値「1」が出力されます。そしてループ処理で変数iは数値がプラス1されて2になります。 |
3回目 | 2 | カウント用変数の値は2なので、条件式「変数iは3より小さい」を満たしています。つまりtrueなので変数値「2」が出力されます。そしてループ処理で変数iは数値がプラス1されて3になります。 |
4回目 | 3 | カウント用変数の値は3なので、条件式「変数iは3より小さい」を満たしていません。つまりfalseなので処理は実行されず、ここで繰り返し処理は終了します。 |
上記のプログラムを実際に実行するとこのようになります。
C:\Users\ysk\Desktop\java>java Lesson026
0
1
2
3.「break;」と「continue;」
for構文の実行中、条件式を満たしているときでも、ある条件で繰り返し処理を終了させたり、現在の処理をすっ飛ばして次の繰り返し処理に移動させたいときがあります。
その場合は、「break;」と「continue;」を使用します。
break;は、繰り返し処理(for構文)自体を終了させ、continue;は今の繰り返し処理をすっ飛ばして次の繰り返し処理に入ります。
break; ←繰り返し処理を終了
continue; ←今の処理を飛ばして次の繰り返し処理に移動する
break;
では、「break;」を使用して繰り返し処理を終了させるプログラムを例示します。
//カウント用変数の宣言
int i;
//繰り返し処理
for(i = 0; i <10; i++){
//もしも変数「i」が5であればbreak;する
if(i == 5){
break;
}
System.out.println(i);
}
上記プログラムは変数iが10になるまで10回繰り返し処理が行われますが、変数値が5の時にbreak;が実行されるので、この時点で繰り返し処理が終了します。そのため以下のようになります。
C:\Users\ysk\Desktop\java>java Lesson
0
1
2
3
4
continue;
「continue;」を使用して現在実行中の繰り返し処理をすっ飛ばして、次の繰り返し処理に移動するプログラムを例示します。
//カウント用変数の宣言
int i;
//繰り返し処理
for(i = 0; i <10; i++){
//もしも変数「i」が5であればcontinue;する
if(i == 5){
continue;
}
System.out.println(i);
}
上記プログラムは変数iが10になるまで10回繰り返し処理が行われます。しかし変数値が5の時にcontinue;されるので、このときの繰り返し処理をすっ飛ばして次の繰り返し処理に移動します。
そのため以下のように「5」という数値が出力されることなく、次の繰り返し処理に移動します。
C:\Users\ysk\Desktop\java>java Lesson026
0
1
2
3
4
6
7
8
9
コメント
まだコメントはありません。