Java入門⑧ for文 ── 同じことを、くり返す
Java入門⑧ for文 ── 同じことを、くり返す
前回まで、if文・switch文という「分かれ道」をやってきました。
今回は、プログラミング第二の山場、for文(フォーぶん)です。同じことを何度もくり返す、コンピュータがいちばん得意なことです。
for文とは、「決まった回数だけ、くり返す」しくみです。
なぜ、くり返しが必要なのか
「こんにちは」を5回表示したいとします。今までの知識だと、同じ行を5回書くしかありません。100回だったら? 現実的ではありませんよね。
そこで使うのが、くり返し(for文)です。「これを100回くり返して」と一言で命令できます。コンピュータは、こういう単純なくり返しが、何より得意なのです。
書き方を見てみる
「こんにちは」を5回表示する例です。
for (int i = 0; i < 5; i++) {
System.out.println("こんにちは");
}
これで「こんにちは」が5回表示されます。
for のカッコの中に、3つのことが、セミコロン(;)で区切って書かれています。
for (int i = 0; i < 5; i++)
① ② ③
- ①
int i = 0… カウント用の箱iを作り、0からスタート - ②
i < 5… 「i が 5 より小さい間」くり返す(続ける条件) - ③
i++… 1回くり返すごとに、i を1増やす
この i は、いま何回目かを数える「カウンター」です。
くり返しの流れを追ってみる
「なんとなく書ける」けど「なぜ動くか分からない」となりがちなので、流れを追ってみます。
for (int i = 0; i < 5; i++) {
System.out.println(i); // i の値を表示してみる
}
実行すると、こうなります。
0
1
2
3
4
動きはこうです。
iは0からスタート- 「0 < 5?」→ true。中を実行(0を表示)。i を1増やす
- 「1 < 5?」→ true。中を実行(1を表示)。i を1増やす
- ……これをくり返す
- 「5 < 5?」→ false。くり返し終了
i が0,1,2,3,4 と変わりながら、5回くり返されました。
なぜ 0 から始めて 5 で終わるのか
学生が必ず「?」となるのが、「0から始まって、4で終わる(5回)」という点です。
「5回なら1から5までじゃないの?」と思いますよね。これは、i = 0 から始めて i < 5(5未満)まで、という書き方だから。0, 1, 2, 3, 4 ——数えると、ちょうど5個。きちんと5回くり返されています。
慣れるまでは不思議ですが、プログラミングでは「0から数え始める」ことがとても多いです。「0スタート、回数ぶんだけ未満(<)」と、ワンセットで覚えてしまうとラクです。
i は、ただ数えるだけじゃない
このカウンター i、表示にも使えます。1から10までの数を順に表示するなら、こうです。
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
今度は i = 1 スタート、i <= 10(10以下)まで。1から10までが順に表示されます。
i の使い方しだいで、「1から100まで足す」「九九を表示する」など、いろんなことができます。カウンターの値を、計算や表示にうまく使うのが、for文を使いこなすコツです。
つまずきポイント
学生がはまりやすいのが、終わらないくり返し(無限ループ)です。
③の i++(iを増やす)を書き忘れると、i がずっと0のまま。「0 < 5」がずっと true になって、永遠にくり返し続けます。
もしプログラムが止まらなくなったら、まず「カウンターはちゃんと増えているか?」を疑ってみてください。
まとめ
for文は、決まった回数だけくり返すしくみ。
for (int i = 0; i < 回数; i++) {
// くり返したい処理
}
- ① カウンターを作ってスタート、② 続ける条件、③ 1回ごとに増やす
- よく使うのは「0スタート、回数ぶんだけ未満(<)」
次回は、もうひとつのくり返し while文 です。

