ブロック内を何回ループするかが正確にわかっている場合 コードでは、while ループの代わりに for ループを使用します。
for (statement 1; statement 2; statement 3) {
// 実行されるコードブロック
}ステートメント 1 は、コード ブロックの実行前に (1 回) 実行されます。
ステートメント 2 は、コード ブロックを実行するための条件を定義します。
ステートメント 3 は、コード ブロックの実行後に (毎回) 実行されます。
以下の例では、0 ~ 4 の数字が出力されます。
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
結果
0
1
2
3
4 ステートメント 1 は、ループの開始前に変数を設定します (int i = 0)。
ステートメント 2 は、ループを実行するための条件を定義します (i は 5 未満である必要があります)。 条件が true の場合、ループは再度開始され、false の場合、ループは終了します。
ステートメント 3 は、ループ内のコード ブロックが実行されるたびに値 (i++) を増加させます。
この例では、0 ~ 10 の偶数値のみが出力されます。
for (int i = 0; i <= 10; i = i + 2) {
System.out.println(i);
}結果
0
2
4
6
8
10 ループを別のループの中に配置することもできます。 これはネストされたループと呼ばれます。
「内側ループ」は、「外側ループ」の反復ごとに 1 回実行されます。
// 外側のループ
for (int i = 1; i <= 2; i++) {
System.out.println("Outer: " + i); // 2回実行
// 内側のループ
for (int j = 1; j <= 3; j++) {
System.out.println(" Inner: " + j); // 6回実行(2*3)
}
} 結果
Outer: 1
Inner: 1
Inner: 2
Inner: 3
Outer: 2
Inner: 1
Inner: 2
Inner: 3 "for-each"ループもあります。これは配列内の要素をループするためにのみ使用されます。
for (type variableName : arrayName) {
// 実行されるコードブロック
}
次の例では、 "for-each" ループを使用して、cars 配列内のすべての要素を出力します。
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String i : cars) {
System.out.println(i);
}
結果
Volvo
BMW
Ford
Mazda