プログラミングにおいて、同じような処理を何度も手書きするのは非効率ですし、バグの原因にもなります。そんな「繰り返し作業」をコンピュータに任せるための強力な武器が「for文」です。
この記事では、Javaのfor文の基本から、現場で「これだけは絶対に気をつけて!」と言われる注意点まで、実務での失敗談を交えて分かりやすく解説します。この記事を読み終える頃には、繰り返し処理を自由自在に操れるようになっているはずです。


Java for文とは何か?初心者が知っておくべき基本概念
for文とは、指定した回数だけ処理を繰り返し実行するための構文です。Javaにおいて最もよく使われる繰り返し(ループ)処理の一つで、「どこから」「いつまで」「どうやって」繰り返すかを一行で指定できるのが特徴です。
for文の基本構造を理解しよう
for文の書き方は、最初は少し複雑に見えるかもしれませんが、3つの要素に分けて考えると簡単です。
for (初期化式; 条件式; 更新処理) {
// 繰り返したい処理
}
- 初期化式:ループを始めるための準備(例:
int i = 0;) - 条件式:この条件が
trueの間だけ繰り返す(例:i < 10;) - 更新処理:一回終わるごとに変数をどう変えるか(例:
i++)

i(indexの略)にすることが非常に多いです。二重ループなら j, k と続きます。最初は「なぜ i なの?」と不思議でしたが、業界の標準的な慣習なので、迷ったら i を使うのが無難ですよ。
変数の宣言方法については、こちらの記事も参考にしてください。

for文はどう使う?実践的な書き方を詳しく解説
それでは、具体的なコードを見ながら、for文の動きをマスターしていきましょう。
基本:1から5までカウントする
最もシンプルな例です。数字を順番に表示させてみましょう。
for (int i = 1; i <= 5; i++) {
System.out.println(i + "回目の処理です");
}
実行結果:
1回目の処理です
2回目の処理です
3回目の処理です
4回目の処理です
5回目の処理です
このコードでは、i が1から始まり、5以下の間、i を1ずつ増やしながら(i++)実行されます。6になった瞬間に「5以下」という条件を満たさなくなるため、ループが終了します。

i <= 5 と書くべきところを i < 5 と書いてしまい、最後の1回が実行されずにバグを出したことが何度もあります。この「1回の差(オフバイワン・エラー)」は、ベテランになっても油断するとやってしまう、ループ処理最大の罠ですね。
条件式の書き方(比較演算子)については、if文の記事で詳しく解説しています。

現場で役立つ!for文の活用パターンと配列処理
実務でfor文が最も輝くのは、「配列」や「リスト」のデータをまとめて処理するときです。
配列の要素をすべて表示する
例えば、社員名簿のリストを順番に表示する場合などをイメージしてください。
String[] users = {"田中", "佐藤", "鈴木"};
for (int i = 0; i < users.length; i++) {
System.out.println("ユーザー名: " + users[i]);
}
実行結果:
ユーザー名: 田中
ユーザー名: 佐藤
ユーザー名: 鈴木
ここで users.length を使うのがポイントです。配列の要素数がいくつであっても、自動的にその数だけ繰り返してくれます。現場では「要素数が変わっても動くコード」を書くのが鉄則です。

int i = 0、条件式は i < length(イコールを付けない)にするのがセットです。これを間違えると、存在しないインデックスにアクセスしてしまい、プログラムが強制終了する「ArrayIndexOutOfBoundsException」というエラーが発生します。私も新人の頃、これで何度も冷や汗をかきました。
データ型の一覧については、こちらで詳しく解説しています。

注意!よくある間違いと現場での失敗談
for文は便利ですが、一歩間違えるとシステム全体を停止させるような大きなトラブルを引き起こすこともあります。
間違い①:無限ループ(終わらない繰り返し)
条件式がいつまでも false にならない場合、プログラムは永遠に止まりません。
for (int i = 10; i > 0; i++) { // iを増やし続けているので、ずっと0より大きいまま
System.out.println("止まりません!");
}
これを実行すると、コンピュータのCPUを使い切り、最悪の場合はパソコンやサーバーがフリーズしてしまいます。

間違い②:ループ内での重い処理
for文の中に、データベースへのアクセスやファイルの読み書きなど、時間のかかる処理を入れると、全体の動作が極端に遅くなります。
- 100回データベースに接続するのではなく、1回で100件取得して、それをfor文で回す
こうした「効率」を意識できるようになると、初心者から一歩抜け出したエンジニアになれます。
まとめ:for文を使いこなして自由なプログラムを
Javaのfor文は、プログラムに「反復」という強力な能力を与える構文です。最後に、この記事の重要ポイントを振り返りましょう。
この記事のポイント
- for文は「初期化」「条件」「更新」の3点セットで書く
- 配列の処理には
i = 0; i < lengthの形が鉄板 - 無限ループにならないよう、条件式には細心の注意を払う
- 実務では可読性を考え、変数名
iを適切に使う - ループ内での重い処理は避け、効率的なコードを心がける

次は、同じ条件分岐でよく使われる「switch文」についても復習しておくと、より複雑なプログラムが書けるようになります。

また、条件分岐の基本である else if についても学んでおきましょう。


