Java
PR

Javaのfor文とは?書き方や使い方をわかりやすく解説

dream2020
記事内に商品プロモーションを含む場合があります

Javaのfor文は、繰り返し処理を行うときにとても便利な仕組みです。でも、初めてプログラミングを学ぶ人にとっては、少し難しそうに見えるかもしれません。

この記事では、for文の基本から応用までを、できるだけわかりやすく解説していきます。

文法だけでなく、実際にどんな場面で使えるのか、ミスしやすいポイント、そして演習問題やよくある質問も交えて、読めばfor文がしっかり身につくよう構成しています。

この記事を読むことで、Javaでのfor文が「なんとなく」から「きちんと理解した」状態になります。


for文とは?

for文とは、ある処理を決まった回数だけ繰り返すときに使う文(命令)のことです。英語で”for”は「〜のために」という意味ですが、Javaでは「〜の回数分、何かをする」という感じで使われます。

たとえば、同じメッセージを10回表示したいとき、毎回同じコードを書くのは時間のムダですし、見た目もごちゃごちゃしますよね?

そんなときにfor文を使えば、たった数行でシンプルに書けるようになります。

for文の基本構造

Javaのfor文は、以下のような形で書きます。

for (初期化; 条件; 更新) {
    繰り返す処理
}

それぞれの意味を見てみましょう:

  • 初期化:カウント用の変数を作って、最初の値を設定します(例:int i = 0
  • 条件:この条件がtrue(真)の間、繰り返しを続けます(例:i < 5
  • 更新:繰り返しが1回終わるたびに、変数の値を変えます(例:i++

具体的な例

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

このコードは「こんにちは」と5回表示します。

  • int i = 0;:iという変数を0からスタート
  • i < 5;:iが5未満の間、繰り返す(つまり0〜4まで)
  • i++:1回ごとにiを1つ増やす(i = i + 1)

このように、for文を使うことで、処理を何度も自動で繰り返すことができます。

なぜfor文を使うの?

プログラミングでは、「同じような処理を何度もしたい」という場面がとても多いです。そんなとき、同じコードをコピー&ペーストするのではなく、for文を使えば1回書くだけで済みます。

コードが短くなれば、ミスも減りますし、読みやすくなって、後から見たときにもわかりやすいです。たとえば、1から10までの数字を足していくような処理も、for文なら一瞬です。

例:1から10までの合計を出す

int sum = 0;
for (int i = 1; i <= 10; i++) {
    sum += i;
}
System.out.println("合計は" + sum);

このように、for文を使うと「何かを順番に数えていく」「配列の中身を順番に見ていく」といった処理がとても簡単になります。

for文のバリエーションと応用例

for文には、使い方のパターンがいくつかあります。ここでは代表的な3つを詳しく見ていきます。

通常のfor文(インデックスあり)

最もよく使われる基本の形です。スタート地点、ゴール地点、増やす量を自分で自由に決められるため、柔軟なループが書けます。

for (int i = 0; i < 10; i++) {
    System.out.println("iの値: " + i);
}

配列やリストを使ったfor文

Javaでは、複数のデータをまとめて扱う配列(Array)やリスト(List)があります。for文はこれらのデータを順番に処理するときにとても便利です。

String[] fruits = {"りんご", "みかん", "バナナ"};
for (int i = 0; i < fruits.length; i++) {
    System.out.println(fruits[i]);
}

fruits.length は配列の長さ(要素の数)を意味します。

拡張for文(for-each文)

Javaには「拡張for文」と呼ばれる簡単な書き方も用意されています。これを使うと、配列やリストの中身を1つずつ取り出すのがより直感的にできます。

for (String fruit : fruits) {
    System.out.println(fruit);
}

この書き方は、要素の順番や長さを気にせずループしたいときにとても便利です。

よくあるミスとその対策

for文はとても便利ですが、初心者がよくやってしまうミスもあります。

ここでは代表的なものと、それを防ぐ方法を紹介します。

条件式の書き間違い

たとえば、i <= 10 とすべきところを i = 10 と書いてしまうと、代入になってしまって無限ループやエラーになります。

// 間違い
for (int i = 0; i = 10; i++) {
    System.out.println(i);
}

=(代入)ではなく、==(比較)や<などの条件にしましょう。

初期化の位置ミス

for文の中で宣言した変数は、for文の外では使えません。forの外でもその変数を使いたいときは、外で先に宣言しましょう。

int i;
for (i = 0; i < 5; i++) {
    System.out.println(i);
}
System.out.println("最終的なiの値: " + i);

無限ループに注意!

条件がずっとtrueのままだと、プログラムが止まらなくなります。特に終了条件を間違えるとこのようなことが起こります。

for (int i = 0; i >= 0; i++) { // iは増える一方で条件はずっとtrue
    System.out.println(i);
}

→ 開発中は一度に大量にループしすぎないように、テスト時は小さめの範囲で確認しましょう。

練習問題

練習問題を3つ用意しました。

習った知識を定着させるためにも、ぜひアウトプットしてみてください。

問題1

1から100までの偶数をすべて表示してください。

ヒント:2から始めて2ずつ増やしましょう。

解答例:

for (int i = 2; i <= 100; i += 2) {
    System.out.println(i);
}

問題2

5の倍数を1から50まで表示してください。

ヒント:5から始めて5ずつ増やせばOKです。

解答例:

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

問題3

配列に入っている名前をすべて表示してください。

String[] names = {"たかし", "さとみ", "けんじ"};

解答例:

for (String name : names) {
    System.out.println(name);
}

よくある質問(FAQ)

よくある質問をまとめました。

Q1. for文とwhile文の違いは?

A. for文は「繰り返しの回数が決まっているとき」に向いています。一方で、while文は「条件を満たす限りずっと繰り返したいとき」に使われます。たとえば、ユーザーの入力が正しいまで繰り返すときはwhileが便利です。

Q2. for文の中で変数を宣言すると外で使えないの?

A. はい。for文の中で int i = 0 のように宣言した場合、そのiはfor文の中だけで使えます。forの外でその変数を使いたい場合は、先に外でint i;と宣言しておきましょう。

Q3. 無限ループになったらどうする?

A. 条件が常にtrueになっている可能性が高いです。プログラムを停止して、条件式や更新の部分が正しく書かれているか確認しましょう。IDEを使っている場合は「停止ボタン」で止められます。

Q4. 配列以外にもfor文は使えるの?

A. はい。配列だけでなく、List、Set、Mapなどのコレクションでも使えます。特に拡張for文(for-each文)との相性が良く、データを1つずつ取り出す処理に向いています。

Q5. 1つ飛ばしや奇数だけループしたいときは?

A. 更新のところを i += 2 にすれば、1つ飛ばしになります。たとえば、1から10までの奇数を表示するなら:

for (int i = 1; i <= 10; i += 2) {
    System.out.println(i);
}

まとめ

Javaのfor文は、プログラミングの中でもとてもよく使う構文です。数値を使ったループ、配列やリストを使ったループなど、さまざまな場面で活躍します。

最初は文法を覚えるのに苦労するかもしれませんが、実際に使ってみるとすぐに慣れてきます。

この記事で紹介したように、基本形、配列の使い方、拡張for文、そしてエラーになりやすい例やFAQを押さえておけば、for文は怖くありません。

for文が書けるようになると、プログラミングの幅が一気に広がります。条件分岐やメソッドと組み合わせて、もっと複雑な処理もできるようになりますよ。

ぜひ練習問題も試して、自分の中で定着させてくださいね。

ABOUT ME
記事URLをコピーしました