Java | for文(繰り返し処理)

Java Java
スポンサーリンク

はじめの一歩

「繰り返しを自分でコントロールできたら、プログラミングが一気にわかるようになる」。for文はその入口です。難しそうに見えても、仕組みはとてもシンプル。ここでじっくり、例題を通して体で覚えましょう。


For文の基本

for (初期化; 条件; 変化) {
    // 繰り返したい処理
}
Java
  • 初期化: 最初に一度だけ実行。カウンター変数を用意する。
  • 条件: まだ続けるかの判定。falseになったら終了。
  • 変化: 1周ごとに実行。カウンターを増やす・減らす。

直観的な例

for (int i = 1; i <= 3; i++) {
    System.out.println("i = " + i);
}
Java
  • 初期化: iを1にする
  • 条件: i <= 3なら続ける
  • 変化: 周回のたびにiを1増やす
  • 結果: i = 1, 2, 3 と順番に表示

動き方のイメージ

  • スタート: 初期化が一度だけ実行される
  • チェック: 条件がtrueなら中身を実行
  • ひと区切り: 変化を実行してから次の周に戻る
  • おしまい: 条件がfalseになった瞬間に終了

実行の流れが見える例

for (int i = 0; i < 2; i++) {
    System.out.println("中身: i=" + i);
}
Java
  • 1周目: i=0 → 中身実行 → i++で1へ
  • 2周目: i=1 → 中身実行 → i++で2へ
  • 3周目: i=2で条件i<2がfalse → 終了

よく使うパターン

  • 昇順ループ: 数字を増やしながら回す
for (int i = 1; i <= 10; i++) {
    System.out.print(i + " ");
}
Java
  • 降順ループ: 数字を減らしながら回す
for (int i = 5; i >= 1; i--) {
    System.out.print(i + " ");
}
Java
  • 合計を求める: 1〜nの合計
int sum = 0;
for (int i = 1; i <= 10; i++) {
    sum += i;
}
System.out.println("合計 = " + sum); // 55
Java
  • 条件付き出力: 偶数だけ表示
for (int i = 1; i <= 10; i++) {
    if (i % 2 == 0) {
        System.out.print(i + " ");
    }
}
Java
  • スキップ・途中終了: continue / break
for (int i = 1; i <= 10; i++) {
    if (i == 3) continue; // 3を飛ばす
    if (i == 8) break;    // 8の前で終わる
    System.out.print(i + " ");
}
Java

つまずきポイントとコツ

  • スコープに注意: forの中で宣言したiは外で使えない
for (int i = 0; i < 3; i++) { }
// ここではiは存在しない
Java
  • 無限ループの原因: 条件がいつまでもtrue、または変化を書き忘れ
// これは永遠に終わらない(iが増えない)
for (int i = 0; i < 5; ) {
    System.out.println(i);
}
Java
  • 波括弧{}の省略は慎重に: 1行でも{}を書く癖をつけると事故が減る
// 省略せず、常にブロックで囲む
for (int i = 0; i < 3; i++) {
    System.out.println(i);
}
Java
  • 複数変数の更新: カンマで並べて同時に変化できる
for (int i = 0, j = 10; i <= 5; i++, j--) {
    System.out.println("i=" + i + ", j=" + j);
}
Java

例題で身につける

例題1: 1から100までの合計を求める

  • 狙い: 基本のカウンターと合計のパターン
int sum = 0;
for (int i = 1; i <= 100; i++) {
    sum += i;
}
System.out.println("合計 = " + sum);
Java

例題2: 九九表をきれいに表示

  • 狙い: ネスト(入れ子)forの練習
for (int a = 1; a <= 9; a++) {
    for (int b = 1; b <= 9; b++) {
        System.out.print((a * b) + "\t");
    }
    System.out.println();
}
Java

例題3: 星で階段を描く(右肩上がり)

  • 狙い: forの組み合わせでパターン作り
for (int row = 1; row <= 5; row++) {
    for (int col = 1; col <= row; col++) {
        System.out.print("*");
    }
    System.out.println();
}
Java

例題4: 配列の平均値を計算

  • 狙い: forで配列を走査する
int[] scores = {70, 85, 90, 60, 100};
int sum = 0;
for (int i = 0; i < scores.length; i++) {
    sum += scores[i];
}
double avg = (double) sum / scores.length;
System.out.println("平均 = " + avg);
Java

例題5: フィズバズ(FizzBuzz)

  • 狙い: 条件分岐とforの組み合わせ
for (int i = 1; i <= 30; i++) {
    if (i % 15 == 0) {
        System.out.println("FizzBuzz");
    } else if (i % 3 == 0) {
        System.out.println("Fizz");
    } else if (i % 5 == 0) {
        System.out.println("Buzz");
    } else {
        System.out.println(i);
    }
}
Java

練習の指針と次の一歩

  • 小さく試す: 3〜5回の短いループで流れを掴む。
  • 声に出す: 「初期化 → 条件チェック → 中身 → 変化」を毎周説明してみる。
  • 目的を決める: 「何を数えるか」「どこまで続けるか」を先に言語化する。
  • 次のステップ: forとifで「整形出力」「パターン生成」「検索(最小・最大)」に挑戦。

「わかったつもり」を抜けるコツは、手を動かして結果を見ること。

タイトルとURLをコピーしました