🔄for文: 繰り返し処理


🔄 for文の基本

for文は、**「初期化」「条件式」「更新処理」**の3つの要素を丸括弧 () 内に持ち、これらの組み合わせで繰り返し回数を制御します。

基本の書式

Java

for (初期化式; 条件式; 更新式) {
    // 条件式が true の間、繰り返し実行される処理
    System.out.println("繰り返し処理を実行中...");
}

3つの要素の役割

要素役割実行タイミング
初期化式ループで使用する変数を準備・初期化する。ループ開始前一度だけ実行。
条件式ループを続けるか判断する条件。各繰り返し処理の開始前に実行。trueなら続行、falseなら終了。
更新式繰り返しごとに変数の値を更新する。ブロック内の処理が完了した後に実行。

✏️ 実行例: 1から5まで数える

最も基本的なfor文の例です。

Java

public class ForLoopExample {
    public static void main(String[] args) {
        // 変数iを0で初期化し、iが5より小さい間(0, 1, 2, 3, 4の5回)、iを1ずつ増やす
        for (int i = 0; i < 5; i++) {
            System.out.println("iの値: " + i);
        }
        System.out.println("ループ終了!");
    }
}

実行の流れ

  1. 初期化: int i = 0; が実行されます (i0になる)。
  2. 条件判定: i < 5 (0 < 5) は true です。
  3. 処理実行: {...} 内の System.out.println("iの値: 0"); が実行されます。
  4. 更新: i++ が実行されます (i1になる)。
  5. 条件判定: i < 5 (1 < 5) は true です。
  6. 処理実行: System.out.println("iの値: 1"); が実行されます。
  7. … この繰り返し …
  8. 最後: i4のときの処理が終わり、i5になると、i < 5 (5 < 5) が false となり、ループが終了します。

🗃️ for文と配列

for文は、配列の要素を順番に処理するのに非常に便利です。

1. 配列の要素数を使った標準的なfor

配列は、.lengthで要素の数(サイズ)を取得できます。

Java

String[] fruits = {"りんご", "バナナ", "みかん"};

for (int i = 0; i < fruits.length; i++) { // fruits.length は 3
    // i はインデックス(0, 1, 2)として使われる
    System.out.println(i + "番目の果物: " + fruits[i]);
}
// 出力:
// 0番目の果物: りんご
// 1番目の果物: バナナ
// 2番目の果物: みかん

2. 拡張for文 (for-each文)

配列やコレクションの要素を最初から最後まで順番に取り出したいだけで、インデックス(添え字)が不要な場合は、「拡張for文」を使うとより簡潔に書けます。

Java

String[] fruits = {"りんご", "バナナ", "みかん"};

// 「fruitsの要素を一つずつ取り出し、fruitという変数に代入しながら繰り返す」
for (String fruit : fruits) {
    System.out.println("取出した果物: " + fruit);
}
// 出力は上記と同じですが、記述がシンプルです。

拡張for文は、繰り返し回数を意識せずに済むため、Javaでは広く使われています。


🛑 ループの制御: breakcontinue

ループの途中で、繰り返し処理を中断したり、一部の処理をスキップしたりするために、**breakcontinue**というキーワードが使われます。

キーワード役割動作
breakループを強制的に終了させる。for文全体からすぐに抜け、次の処理に進む。
continue現在の繰り返しだけスキップさせる。continue以降の処理をスキップし、すぐに次の繰り返し(更新式)に移る。

continueの実行例

Java

for (int num = 1; num <= 5; num++) {
    if (num == 3) {
        System.out.println("3はスキップ!");
        continue; // numが3のとき、この後の処理は実行されず、num++へ飛ぶ
    }
    System.out.println("処理中の数値: " + num);
}
// 出力結果: 1, 2, (3はスキップ), 4, 5 の処理が実行される