Java For ループ

ブロック内を何回ループするかが正確にわかっている場合 コードでは、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-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