この記事で学べること

  • 繰り返し処理とは何か、なぜ必要なのか
  • for文の基本的な書き方と使い方
  • while文の基本的な書き方と使い方
  • for文とwhile文の使い分け
  • 繰り返しを使った実践的なプログラム

はじめに – 今日やること

前回の振り返りです!

前回は、if文で条件によってプログラムの動きを変える方法を学びました。

変数(データ)とif文は、プログラミングの土台です。

Javaだけでなく、Python、JavaScript、C言語など、ほとんどのプログラム言語で使われています。

だからこそ、この2つは絶対に欠かせない存在なんです。

そして今回は、僕たちが似たようなコードを何度も書かなくて済む技術、「繰り返し処理」について学びます!

例えば、「こんにちは」を100回表示するプログラムも、たった3行で書けます!

今日のゴール

  • for文を使って繰り返し処理ができる
  • while文を使って繰り返し処理ができる
  • for文とwhile文の使い分けがわかる

焦らず、ゆっくり進めていきましょう!

繰り返し処理って何? なぜ必要?

繰り返し処理とは、同じ処理を何度も実行できる仕組みです!

日常生活で例えると、このようなイメージです:

  • 階段を1段ずつ登る
  • ラジオ体操を毎朝やる
  • 100回腕立て伏せをする

プログラムでも、繰り返しが必要な場面はたくさんあります。

例えば、「1から100までの数字をコンソールに表示させたい」としたら、皆さんどうしますか?

そう! それはコピペです!

java

System.out.println(1);
System.out.println(2);
System.out.println(3);
// ...100行繰り返す
System.out.println(100);

コピペでも、100行コピペすれば実現できます。ただし、これには落とし穴があります。

100回が1000回に変わったらどうでしょうか?
また、1000回書いた後で「やっぱり300回で良かった」となったらどうでしょうか?

正直、コピペでもしんどくないですか?

繰り返し文があれば楽になる!

これを楽にしてくれるのが、繰り返し文です!

繰り返し文を使えば:

  • 指定した回数だけ繰り返す: 「100回繰り返す」「1000回繰り返す」と書くだけ
  • 特定の条件を満たす限り繰り返す: 「〇〇が△△になるまで繰り返す」

これにより、100回なら「100」、1000回なら「1000」と書くだけで処理を繰り返せます。

Javaには、繰り返し文として「for文」と「while文」の2つがあります。

それでは、実際に使ってみましょう!

for文の基本 – 回数が決まっている繰り返し

for文とは

for文は、「決まった回数だけ繰り返す」時に使います。

例えば:

  • 「こんにちは」を10回表示したい
  • 1から100までの数字を表示したい
  • 配列の全要素を処理したい

こんな時に、for文がピッタリです!

前の章で「コピペは100回ならまだしも、1000回は大変」という話をしましたよね。for文を使えば、たった数行で何回でも繰り返せるようになります。

しかも、増やしたり減らしたり、変更したい場合は数字を変えるだけで実現できます!

for文の書き方

for文は、以下のように書きます:

for (初期化; 条件; 更新) {
// 繰り返したい処理
}

何やら難しく見えるかもしれませんが、ゆっくり1つずつ見ていけば大丈夫です。

各部分の役割を説明しますね:

  • 初期化: カウンター変数を用意する(最初に1回だけ実行される)
  • 条件: いつまで繰り返すかを決める(毎回チェックされる)
  • 更新: 1回繰り返すごとに、カウンター変数を増やす

言葉だけだとわかりにくいので、実際のコードで見てみましょう!

実際に動かしてみよう

例1: 「こんにちは」を5回表示する

for (int i = 0; i < 5; i++) {
System.out.println(“こんにちは”);
}

実行結果:

こんにちは
こんにちは
こんにちは
こんにちは
こんにちは

どうですか? たった3行で5回繰り返せました!

このコードを詳しく見てみましょう:

  1. 初期化(int i = 0): 変数iを0から始める
  2. 条件(i < 5): iが5より小さい間、繰り返す
  3. 更新(i++): 1回繰り返すごとに、iを1増やす

変数iは、こんな風に変化しています:

1回目: i = 0 → 「こんにちは」を表示 → i を1増やす
2回目: i = 1 → 「こんにちは」を表示 → i を1増やす
3回目: i = 2 → 「こんにちは」を表示 → i を1増やす
4回目: i = 3 → 「こんにちは」を表示 → i を1増やす
5回目: i = 4 → 「こんにちは」を表示 → i を1増やす
6回目: i = 5 → 5 < 5 はfalse(間違い) → 条件を満たさないので繰り返し終了!

例2: カウンターを使って「何回目」を表示する

今度は、変数iを使って「何回目」かを表示してみましょう。

for (int i = 1; i <= 10; i++) {
System.out.println(i + “回目”);
}

実行結果:

1回目
2回目
3回目
4回目
5回目
6回目
7回目
8回目
9回目
10回目

さっきと少し違うところに気づきましたか?

  • int i = 1: iを1から始めている(さっきは0)
  • i <= 10: iが10以下の間繰り返す(さっきは5より小さい)

このように、for文は自分の目的に合わせて調整できるんです!

for文の「i」って何?

よく「int i = 0のiって何ですか?」と質問されます。

答えは: ただのカウンター変数の名前です!

iは「index(インデックス)」や「iteration(繰り返し)」の頭文字から来ていて、プログラマーの間では慣習的に使われています。もちろん、countやnumなど、他の名前でもOKです。

// これでも動きます
for (int count = 0; count < 5; count++) {
System.out.println(“こんにちは”);
}

ただ、迷ったらiを使うのが一般的です。

while文の基本 – 条件が続く限り繰り返し

while文とは

while文は、「条件が正しい間、ずっと繰り返す」時に使います。

for文との違いは:

  • for文: 回数が決まっている時(「10回繰り返す」など)
  • while文: 回数がわからない、条件が続く限り繰り返す時

例えば:

  • ユーザーが「終了」と入力するまで繰り返す
  • 正しい値が入力されるまで繰り返す
  • ゲームでHPが0になるまで戦闘を繰り返す

こんな時に、while文が便利です!

while文の書き方

while文は、以下のように書きます:

while (条件) {
// 繰り返したい処理
}

for文よりシンプルですよね!

  • 条件: この条件がtrue(正しい)の間、ずっと繰り返す
  • 条件がfalse(間違い)になったら、繰り返し終了

実際のコードで見てみましょう!

実際に動かしてみよう

例1: カウントが5未満の間、繰り返す

int count = 0;
while (count < 5) {
System.out.println(“カウント: ” + count);
count++;
}

実行結果:

カウント: 0
カウント: 1
カウント: 2
カウント: 3
カウント: 4

このコードの動きを見てみましょう:

  1. 最初、countは0
  2. 0 < 5はtrue → 「カウント: 0」を表示 → countを1増やす
  3. 1 < 5はtrue → 「カウント: 1」を表示 → countを1増やす
  4. …繰り返す
  5. 5 < 5はfalse → 繰り返し終了!

⚠️ 重要な注意点: 無限ループに気をつけよう!

while文で最も注意すべきことがあります。それは、無限ループです。

悪い例(無限ループ)

int count = 0;
while (count < 5) {
System.out.println(“カウント: ” + count);
// count++を忘れた!
}

このコードは、永遠に終わりません!

なぜかというと:

  1. countは0のまま
  2. 0 < 5は常にtrue
  3. ずっと「カウント: 0」が表示され続ける

count++を忘れると、条件が永遠にtrueのままになってしまうんです。

これ、本当によくあるミスなんです…! もしプログラムが止まらなくなったら、Ctrl+C(Macなら Command+C)で強制終了してください。

良い例(ちゃんと終わる)

int count = 0;
while (count < 5) {
System.out.println(“カウント: ” + count);
count++; // これを忘れずに!
}

必ず、条件を変化させる処理(count++など)を入れましょう!

例2: 条件を使った繰り返し

while文の本領発揮は、「回数がわからない繰り返し」です。

boolean continueLoop = true;
int number = 0;

while (continueLoop) {
System.out.println(“数字: ” + number);
number++;

if (number >= 3) {
    continueLoop = false;  // 条件をfalseにして終了
}

}

実行結果:

数字: 0
数字: 1
数字: 2

このように、条件を満たしたら終了という使い方もできます。

for文とwhile文、どっちを使えばいい?

迷いますよね。基本的には:

回数が決まっている → for文

  • 「10回繰り返す」
  • 「配列の全要素を処理」
  • 「1から100まで」

条件が続く限り → while文

  • 「ユーザーが終了と言うまで」
  • 「正しい値が入力されるまで」
  • 「HPが0になるまで」

ただし、どちらでも書けます。慣れるまでは、for文を使うことが多いです。

同じ処理をfor文とwhile文で書いてみる

// for文
for (int i = 0; i < 5; i++) {
System.out.println(i);
}

// while文
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
}

どちらも同じ結果になります!

while文のポイント

while文を使う時は、以下のポイントを覚えておきましょう:

  1. 条件を必ず変化させる: じゃないと無限ループになる
  2. 回数がわからない時に便利: 「〇〇まで繰り返す」という時
  3. for文より自由度が高い: 複雑な条件も書きやすい

慣れるまでは、「回数が決まっている時はfor文」と覚えておけば大丈夫です!

実践: 繰り返しを使ったプログラムを作ろう

ここまでで、for文とwhile文の基本を学びました。

この章では、実際に繰り返しを使ったプログラムを作ってみましょう!

「本当に使えるようになった!」と実感できるはずです。

例1: 1から100までの合計を計算する

よくある問題ですが、繰り返しの練習にピッタリです。

int sum = 0;

for (int i = 1; i <= 100; i++) {
 sum += i; // sum = sum + i と同じ
}

System.out.println(“1から100までの合計: ” + sum);

実行結果:

1から100までの合計: 5050

どうやって動いているの?

  1. 最初、sumは0
  2. i = 1の時: sum = 0 + 1 = 1
  3. i = 2の時: sum = 1 + 2 = 3
  4. i = 3の時: sum = 3 + 3 = 6
  5. …繰り返す
  6. i = 100の時: sum = 4950 + 100 = 5050

このように、繰り返すたびに合計が増えていくんです!

例2: 偶数だけを表示する

1から20までの数字のうち、偶数だけを表示してみましょう。

for (int i = 1; i <= 20; i++) {
if (i % 2 == 0) { // 2で割った余りが0なら偶数
System.out.println(i);
}
}

実行結果:

2
4
6
8
10
12
14
16
18
20

ポイント

  • i % 2 は「iを2で割った余り」
  • 余りが0なら偶数、1なら奇数
  • if文と組み合わせることで、条件に合うものだけ処理できる

繰り返し + if文 = 強力なプログラムが書けるようになります!

for文は、増やすだけじゃなく減らすこともできるんです!

例3: while文で条件を使った繰り返し

最後に、while文を使った例も見てみましょう。

int number = 1;

while (number < 100) {
System.out.println(number);
number *= 2; // number = number * 2 と同じ(2倍にする)
}

実行結果:

1
2
4
8
16
32
64

どうやって動いているの?

  1. 最初、numberは1
  2. 1 < 100はtrue → 1を表示 → numberを2倍(2になる)
  3. 2 < 100はtrue → 2を表示 → numberを2倍(4になる)
  4. 4 < 100はtrue → 4を表示 → numberを2倍(8になる)
  5. …繰り返す
  6. 128 < 100はfalse → 繰り返し終了!

while文は、こういう「規則的じゃない変化」の時に便利なんです!

練習問題: 自分で作ってみよう!

以下のプログラムを、自分で作ってみてください:

問題1: 1から10までの奇数を表示する
ヒント: i % 2 != 0 で奇数かどうか判定できます

問題2: 1から50までの3の倍数を表示する
ヒント: i % 3 == 0 で3の倍数かどうか判定できます

問題3: 1から10までの数字を、逆順に表示する
ヒント: 10から1までカウントダウンすればOKです

焦らず、1つずつ試してみてくださいね!

よくあるエラーと注意点

繰り返しを使っていると、必ずエラーに遭遇します。

これは誰でも通る道なので、焦らなくて大丈夫です!

ここでは、よくあるエラーと解決方法を紹介します。つまずいた時に、ここを見返してくださいね。

エラー1: 無限ループ(プログラムが止まらない!)

症状:

  • プログラムが終わらない
  • コンソールに同じ文字が延々と表示され続ける
  • パソコンが重くなる

原因:

// 悪い例
int i = 0;
while (i < 10) {
System.out.println(i);
// i++を忘れた!
}

条件を変化させる処理(i++など)を忘れると、条件が永遠にtrueのままになります。

解決方法:

  1. Ctrl+C(Macなら Command+C)で強制終了
  2. 条件を変化させる処理があるか確認
  3. i++やcount++を忘れずに書く

// 良い例
int i = 0;
while (i < 10) {
System.out.println(i);
i++; // これを忘れずに!
}

これ、本当によくあるミスなんです…! 私も初心者の頃、何度も無限ループにハマりました。

エラー2: 1回多く/少なく繰り返してしまう

症状:

  • 「10回繰り返したいのに、9回しか繰り返さない」
  • 「10回繰り返したいのに、11回繰り返す」

原因:

// 9回しか繰り返さない例
for (int i = 1; i < 10; i++) { // i < 10 だと9回
System.out.println(i);
}

// 11回繰り返す例
for (int i = 0; i <= 10; i++) { // i <= 10 だと11回(0〜10)
System.out.println(i);
}

ポイント:

  • < は「未満」(10は含まない)
  • <= は「以下」(10を含む)
  • 0始まりか1始まりかで回数が変わる

解決方法:

// 10回繰り返す(1〜10)
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}

// 10回繰り返す(0〜9)
for (int i = 0; i < 10; i++) {
System.out.println(i);
}

どちらも10回繰り返しますが、表示される数字が違います。自分の目的に合わせて選びましょう!

エラー3: 波カッコ{}を忘れる

症状:

  • 「繰り返したい処理が1回しか実行されない」
  • 意図しない動きをする

原因:

// 悪い例
for (int i = 0; i < 5; i++)
System.out.println(“こんにちは”);
System.out.println(“これは1回しか実行されない”);

波カッコ{}がないと、直後の1行だけが繰り返されます。

解決方法:

// 良い例
for (int i = 0; i < 5; i++) {
System.out.println(“こんにちは”);
System.out.println(“これも繰り返される”);
}

複数行を繰り返したい時は、必ず波カッコ{}で囲みましょう!

エラー4: 変数のスコープ(有効範囲)

症状:

  • 「変数iが見つかりません」というエラーが出る

原因:

for (int i = 0; i < 5; i++) {
System.out.println(i);
}

System.out.println(i); // エラー! iはfor文の中でしか使えない

for文の中で宣言した変数は、for文の外では使えません

解決方法:

// 方法1: for文の外で宣言する
int i;
for (i = 0; i < 5; i++) {
System.out.println(i);
}
System.out.println(i); // OK

// 方法2: 別の変数を使う
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
int result = 10; // 別の変数
System.out.println(result);

エラー5: セミコロン;の付け忘れ/付けすぎ

症状:

  • コンパイルエラーが出る
  • 繰り返しが動かない

原因:

// 悪い例1: セミコロンを付けすぎ
for (int i = 0; i < 5; i++); { // ここに;があると、何もしないfor文になる
System.out.println(“表示されない”);
}

// 悪い例2: セミコロンを忘れる
for (int i = 0; i < 5; i++)
System.out.println(i) // セミコロンがない!

解決方法:

  • for文の()の後には;付けない
  • 処理の最後には;付ける

注意点: while文は条件を必ず変化させる

while文を使う時は、必ず条件を変化させる処理を入れてください。

// 悪い例
boolean flag = true;
while (flag) {
System.out.println(“無限ループ!”);
// flagを変化させる処理がない!
}

// 良い例
boolean flag = true;
int count = 0;
while (flag) {
System.out.println(“ループ中”);
count++;
if (count >= 5) {
flag = false; // 条件を変化させる
}
}

次に学ぶべきこと

長い間、お疲れ様でした!

今日は、繰り返し処理を学びましたね。

今日学んだこと

  • 繰り返し処理の基本(同じ処理を何度も実行できる)
  • for文の書き方(回数が決まっている繰り返し)
  • while文の書き方(条件が続く限り繰り返し)
  • 繰り返しを使った実践的なプログラム(合計計算、偶数表示など)
  • よくあるエラーと解決方法(無限ループ、回数のズレなど)

これで、もっと複雑なプログラムが作れるようになりました!

これから何をすべきか

これからは、たくさん書いて動かすことが一番の勉強です!

自分で回数を変えたり、新しいプログラムを作ったりして、どんどん実験してみてください。

失敗しても大丈夫。何度でもやり直せます。

これで、プログラミングの基礎が完成しました!

前回までの「変数(データ)」「if文」、そして今回の「繰り返し処理」。

この3つで、プログラミングの基礎が完成しました!

変数 + if文 + 繰り返し = どんなプログラムでも書ける!

この3つがあれば、理論上はどんなプログラムでも書くことができます。(大変ではありますが)

実は、これから学ぶこと(配列、メソッド、クラスなど)は、すべて「僕たちが楽をするために作られた仕組み」なんです。

でも、この3つ(変数、if文、繰り返し)は、絶対に欠かせない土台です。

よく頑張りましたね!

次のステップ: 配列を学ぼう

次は、配列(Array)を学んでいきます!

配列を学ぶと:

  • たくさんのデータをまとめて管理できる(例: 生徒10人の点数)
  • 繰り返し処理との相性が抜群に良い
  • もっと効率的にプログラムが作れる

これを使うと、僕たちがもっと楽にプログラムを作れるようになります!

焦らず、一緒に頑張りましょう!

まとめ

お疲れ様でした! 今日学んだことを振り返ってみましょう。

今日のポイント

✅ 繰り返し処理は同じ処理を何度も実行できる仕組み
✅ for文は回数が決まっている時に使う
✅ while文は条件が続く限り繰り返す時に使う
✅ 無限ループに注意する(条件を変化させる処理を忘れずに)
✅ 繰り返し + if文で、もっと複雑なプログラムが作れる

今日、あなたは「同じ処理を効率的に実行する力」を手に入れました!

前回までの「変数(データ)」「if文」、そして今回の「繰り返し処理」で、プログラミングの基礎が完成しましたね。

この調子で、次のステップに進みましょう!

次に読むべき記事

次は、配列を学んで、たくさんのデータをまとめて管理できるようにしましょう!

  • Java入門 〜配列でデータをまとめて管理する〜(2026年2月10日 公開予定〜) 配列を使って、大量のデータを効率的に扱う方法を学びます。

前回・関連記事

質問や感想をお待ちしています!

この記事でわからなかったことや、つまずいたポイントがあれば、お気軽にコメント欄やお問い合わせフォームからご連絡ください!

また、「繰り返し処理がわかりました!」の報告も大歓迎です。一緒に喜びたいです!

それでは、次の記事でお会いしましょう!