Javaの勉強を始めたときに、必ずといっていいほど出てくるのが「繰り返し処理」。
その中でも、特に多く使われるのが for文
です。
「繰り返すってどうやって?」「配列を順番に処理したいんだけど…」
そんな疑問を持っている初心者の方でも、この記事を読めば for文
をスッキリ理解できるようになります。
今回は、Javaの for文
の基本から応用、よくある間違いまで、分かりやすく解説していきます。
🔰 for文ってなに?
Javaの for文
は、「決まった回数」処理を繰り返すための文です。
たとえば、「1から5までの数字を順番に表示したい」といったときに使います。
【イメージ】
「◯回くり返してね」と命令を出して、Javaがその通りに動いてくれる便利な機能です。
🧱 基本構文と意味
1 |
for (初期化; 条件; 変化) {<br> // くり返したい処理<br>}<br> |
それぞれのパーツの意味は以下のとおりです。
部分 | 説明 |
---|---|
初期化 | 繰り返しの準備(変数のスタート地点) |
条件 | 処理を続けるか判断(trueなら続ける) |
変化 | 繰り返しごとに変化させる(カウントアップなど) |
📌 実際のコード例(1〜5を表示)
1 |
for (int i = 1; i <= 5; i++) {<br> System.out.println(i);<br>}<br> |
解説:
int i = 1
→ 1からスタートi <= 5
→ iが5以下ならくり返すi++
→ iを1ずつ増やしていく
このコードを実行すると、以下のように出力されます:
1 |
1<br>2<br>3<br>4<br>5<br> |
🔁 配列とfor文
Javaでは配列と for文
をセットで使うことがよくあります。
1 |
int[] scores = {90, 80, 70};<br><br>for (int i = 0; i < scores.length; i++) {<br> System.out.println(scores[i]);<br>}<br> |
scores.length
→ 配列の要素数(この例では3)scores[i]
→ 配列のi番目を取り出す
このように、配列の内容を順番に処理するときに for文
が役立ちます。
🌱 拡張for文(for-each)で簡単に!
Javaには、配列やリストをもっと簡単に処理できる「拡張for文(for-each)」もあります。
1 |
for (int score : scores) {<br> System.out.println(score);<br>}<br> |
score
→ 配列scores
の中身を1つずつ取り出してくれる- 書き方がシンプルでミスも減らせます
🧠 ネスト(入れ子)のfor文
for文
の中に for文
を書くと、「二重ループ」になります。
1 |
for (int i = 1; i <= 2; i++) {<br> for (int j = 1; j <= 3; j++) {<br> System.out.println("i=" + i + ", j=" + j);<br> }<br>}<br> |
出力結果は次のようになります:
1 |
i=1, j=1<br>i=1, j=2<br>i=1, j=3<br>i=2, j=1<br>i=2, j=2<br>i=2, j=3<br> |
🧮 for文と条件文の組み合わせ
繰り返し処理の中に if文
を組み合わせることで、特定の条件だけを処理することができます。
偶数だけを表示する
1 |
for (int i = 1; i <= 10; i++) {<br> if (i % 2 == 0) {<br> System.out.println(i);<br> }<br>}<br> |
このコードは、1~10の中で「偶数」だけを出力します。
🧯 break文とcontinue文
for文
の中で、特定の条件になったら途中でループを抜けたり、次のループにスキップしたりすることができます。
break:ループを途中でやめる
1 |
for (int i = 1; i <= 10; i++) {<br> if (i == 5) break;<br> System.out.println(i);<br>}<br> |
出力は「1~4」までで止まります。
continue:その回だけスキップする
1 |
for (int i = 1; i <= 5; i++) {<br> if (i == 3) continue;<br> System.out.println(i);<br>}<br> |
「3」だけが出力されません。
📚 実用的な活用例
配列から特定の値を探す
1 |
int[] data = {10, 20, 30, 40};<br><br>int target = 30;<br>boolean found = false;<br><br>for (int i = 0; i < data.length; i++) {<br> if (data[i] == target) {<br> found = true;<br> break;<br> }<br>}<br><br>if (found) {<br> System.out.println("見つかりました!");<br>} else {<br> System.out.println("見つかりませんでした。");<br>}<br> |
⚠️ よくある間違い
❌ 無限ループに注意
1 |
for (;;) {<br> System.out.println("終わらない…");<br>}<br> |
条件を書かないと、永遠にくり返してしまいます。
止まらないプログラムにならないよう注意しましょう。
❌ 配列の範囲外アクセス
1 |
int[] arr = {1, 2, 3};<br>System.out.println(arr[3]); // エラー!<br> |
Javaの配列は0から始まるので、arr[3]
は存在しません。ArrayIndexOutOfBoundsException
というエラーが出てしまいます。
✅ まとめ
Javaの for文
は、プログラミングの基礎であり、さまざまな場面で活躍します。
配列の処理や繰り返し演算、条件分岐と組み合わせた処理など、活用方法は無限大です。
ポイントをおさらいすると:
for (初期化; 条件; 変化)
の構造をしっかり理解する- 配列との組み合わせで強力に活用できる
- breakやcontinueを使えば柔軟な制御も可能
- 拡張for文は配列の処理を簡単にしてくれる
Javaの基礎力を固めるためには、まずこの for文
を何度も書いて体で覚えることが一番です。
もっとJavaをしっかり学びたい人には、絶対にJavaプログラマーになりたい人へ。 がオススメです。
さらに、現役エンジニアのコードレビューを受けたい人、転職を本気で考えている人には、サイゼントアカデミー という選択肢もあります。
正しい学び方で、あなたもJavaマスターへの第一歩を踏み出しましょう!
コメント