はじめの一歩
「繰り返しを自分でコントロールできたら、プログラミングが一気にわかるようになる」。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で「整形出力」「パターン生成」「検索(最小・最大)」に挑戦。
「わかったつもり」を抜けるコツは、手を動かして結果を見ること。

