Javaのfor文を完全ガイド!初心者でもわかる繰り返し処理
新人
「Javaのfor文を使って繰り返し処理をする方法を知りたいです。繰り返し処理ってそもそも何なんですか?」
先輩
「Javaでfor文を使うと、同じ処理を何度も繰り返すことができるよ。繰り返し処理はプログラミングの基本で、データを順番に表示したり、値を計算したり、画面に一覧を表示したりするときに活躍するんだ。」
新人
「同じ処理を繰り返すということは、コピーペーストして同じ命令を書き続けるってことですか?」
先輩
「毎回同じ内容を何十回も書くのは大変だよね。そこでfor文を使うと、一度書くだけで決められた回数を自動で繰り返してくれるんだ。Javaを使った繰り返し処理はとても便利だから、初心者でも覚えておくと実践で役立つよ。」
新人
「なるほど!繰り返し処理の仕組みが少しわかってきました。Javaのfor文の書き方を具体的に知りたいです!」
1. 繰り返し処理とは?
Javaでは、繰り返し処理を使うことで同じ命令を続けて実行できます。例えば、数字を一から順番に表示したり、画面にリストを並べたりすることができます。Javaの繰り返し処理は、for文やwhile文などの制御構造を使って実行しますが、今回は初心者に分かりやすいfor文を中心に学んでいきます。Javaのfor文は書き方がシンプルで覚えやすく、実務でもよく使われる重要な構文です。
Javaで繰り返し処理を使うと、処理を自動化することができます。例えば、十回同じメッセージを表示したいとき、十行書かなくても、for文なら一行の仕組みで十回分の動作を行ってくれます。こうした仕組みは、毎日の開発で活躍するので、Javaの初心者にとって必須の知識です。特にSpring MVCの画面表示で一覧を表示したいときや、データをループで取り出したいときに大活躍します。
2. Javaのfor文の基本構文
Javaのfor文はとてもシンプルで、次のような構文になります。Javaの初心者でも読みやすい形で、繰り返し処理の開始、終了、増加を一つの行で書ける便利な文です。
for (初期値; 条件式; 増減式) {
実行したい処理
}
この構文の動きは、Javaが初期値を設定し、条件式が成立している間はブロック内の処理を繰り返します。そして処理が終わるたびに増減式が実行され、再び条件式の判定が行われます。このループが終わるまで繰り返しが続きます。Javaの繰り返し処理は、この仕組みさえ理解できれば応用できる範囲がぐっと広がります。
例えば、一から五までの数字を順番に表示するJavaのコードは以下のようになります。
public class ForExample {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println(i);
}
}
}
1
2
3
4
5
Javaのfor文は数字だけでなく配列やリストにも応用できますが、まずは基本的な繰り返し処理をしっかり理解することが大切です。繰り返し処理を使いこなすことでJavaプログラミングの表現力が大きく広がり、Spring MVCと組み合わせることでWeb画面の表示にも応用できるようになります。
今回の記事では、開発環境も初心者向けに整理されています。Javaのプロジェクトは、pleiadesで作成し、依存関係はpleiadesのチェックで追加できます。ビルドツールはGradleを使用し、Spring MVCのコントローラは@RestControllerではなく@Controllerを使います。この構成ならJava初心者でも迷わず準備できるので安心です。
次回の記事では、for文を使った応用例や、配列やリストの繰り返し処理などを紹介していきますが、まずはこの基本構文を確実に理解しておくことが大切です。Javaの繰り返し処理を使いこなすための基礎力として、何度も書いて試してみると理解が深まります。
3. for文の中で変数を使う例
ここからは、Javaのfor文の中で変数を使ってみましょう。Javaの繰り返し処理では、インデックスとなる変数を使いながら値を計算したり、表示したりできます。例えば、Spring MVCのWebアプリで画面に連番を表示したいときも、for文の変数が大活躍します。初心者の方はまず、変数と繰り返し処理の関係をゆっくり理解してみると良いです。
次のように、Javaではfor文の中で変数を利用して計算できます。例えば、一定の計算結果を順番に出力したり、合計値を求めたりできます。Javaの変数は型を宣言して使いますが、for文の中で宣言された変数はループの中だけで利用できます。この仕組みは、エラーを防ぐためにもとても便利です。
public class ForCalcExample {
public static void main(String[] args) {
int total = 0;
for (int i = 1; i <= 5; i++) {
total = total + i;
System.out.println("いまの合計:" + total);
}
System.out.println("最終的な合計:" + total);
}
}
このコードでは、totalという変数が繰り返し処理の中で更新されています。Javaの初心者でも、数字が増えていく仕組みを目で追うと理解しやすくなります。for文を使うと、ただ表示するだけでなく計算もできるため、処理の幅が広がります。Webアプリの中で、商品金額の合計を出したり、入力された点数の平均を求めたり、といった場面でも使われます。JavaとSpring MVCを組み合わせた実務でも頻繁に登場します。
4. for文で配列やリストを繰り返し処理する例
Javaのfor文は配列やリストと一緒に使うと、とても便利です。配列やリストは複数の値を持つ入れ物のようなもので、Spring MVCのコントローラでもデータをまとめて扱いたいときによく使います。例えば、画面に一覧を表示したいとき、Javaの繰り返し処理で配列の中身を順番に取り出して表示することができます。初心者の方でも仕組みを一つずつ理解していけば難しくありません。
まずは配列を使った例を見てみましょう。配列は、同じ型のデータを連続して管理できる仕組みです。例えば、名前の一覧を順番に表示したいときに便利です。
public class ArrayExample {
public static void main(String[] args) {
String[] names = {"田中", "佐藤", "鈴木", "高橋"};
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
}
}
Javaでは、names.lengthで配列の要素数を取得できるため、繰り返し処理が途中でエラーになる心配がありません。for文の中で配列を扱うときは、必ずこのlengthを使うことが大切です。初心者がよくやりがちな間違いとして、範囲を数字で直接書いてしまうと、配列の数が変わったときにエラーになってしまう場合があります。そこで、lengthを使うと安全に繰り返し処理ができます。
次に、リストを使う例を見てみましょう。リストは配列より柔軟に扱えるため、JavaやSpring MVCのWebアプリでよく使われます。リストのデータを追加したり削除したりしながら画面表示する場面は、とても多いです。
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
List<String> items = new ArrayList<>();
items.add("りんご");
items.add("みかん");
items.add("ぶどう");
for (int i = 0; i < items.size(); i++) {
System.out.println(items.get(i));
}
}
}
このように、リストではsizeというメソッドを使って繰り返し処理を行います。配列と似ていますが、リストは値を追加できるのでより実践的です。Javaの初心者でも、配列とリストの違いを比べながらfor文を使うと理解しやすくなります。Spring MVCと組み合わせると、例えば在庫の一覧や商品名の表示など、実際のWebアプリでよく使われる場面に応用できます。
5. for文を使う簡単な処理例を紹介
次は、Javaのfor文を使った簡単な処理の例を紹介します。初心者が実際のプログラムで使えるように、できるだけ身近なイメージで考えてみましょう。例えば、Spring MVCのコントローラで画面にメッセージを並べて表示したい場合、for文でリストの中身を取り出しながらモデルに追加していくことができます。
ここでは、単純に九九の一の段を表示するJavaのサンプルを作ってみます。繰り返し処理を使うと、九九の結果を自動で表示できます。初心者でも分かりやすいロジックです。
public class KukuExample {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
System.out.println("一かける" + i + "は" + (1 * i));
}
}
}
このように、Javaのfor文は数字を計算して表示したり、配列やリストを順番に取り出したり、さまざまな繰り返し処理に使われます。慣れてくると、自分で処理を組み立てて使えるようになります。特にWebアプリ開発では、画面の一覧表示や、入力値のチェックなどの場面でとても役に立ちます。
さらに、Spring MVCとの組み合わせでは@Controllerを使ったコントローラクラスから、for文で処理した結果を画面へ渡すこともできます。Javaの基本をしっかり理解しておくと、Webアプリ開発のステップでも混乱しにくくなります。繰り返し処理は、必ず必要になる大切な考え方です。
6. for文でよくある間違い(条件式やインデックスの注意点)
ここからは、Javaのfor文で初心者がよくつまずくポイントを説明します。Javaの繰り返し処理はとても便利ですが、条件式やインデックスの書き方を間違えるとエラーになることがあります。特に配列やリストを扱うときは、範囲を超えてアクセスしてしまい、実行時エラーが発生することもあります。Webアプリでも、一覧表示の処理でインデックスがずれてしまうと正しく表示できず、原因不明のトラブルに見えることがあります。そこで、間違いやすい例を分かりやすく整理しておきます。
まず、繰り返し回数を間違えてしまうケースです。for文では条件式がとても大切で、ここを間違うとループが止まらなかったり、途中で終わってしまうことがあります。特に初心者の場合、「以下」や「未満」の違いがわかりにくく、思ったとおりに動かないと悩むことがあります。
public class MistakeExample {
public static void main(String[] args) {
for (int i = 0; i <= 5; i++) {
System.out.println(i);
}
}
}
この書き方だと、数字がゼロから五まで表示されます。しかし、もし五未満にしたい場合は、「i < 5」と書く必要があります。たった一文字の違いですが、Javaではこうした細かい条件が結果を大きく変えます。繰り返し処理はとても便利ですが、条件式が間違っていると意図しない出力になるので注意が必要です。
次は、配列の範囲を超えてしまう間違いです。Javaでは、配列のインデックスはゼロから始まります。配列に四つの要素がある場合、番号はゼロ、いち、に、さんの合計四つです。しかし、初心者はつい「四番目」を指定してしまい、実行時にエラーになることがあります。
public class IndexErrorExample {
public static void main(String[] args) {
String[] data = {"赤", "青", "緑"};
for (int i = 0; i <= data.length; i++) {
System.out.println(data[i]);
}
}
}
このコードは、一見正しそうに見えますが、最後のループでエラーになります。なぜなら、lengthは要素数を表しますが、実際のインデックスはゼロから始まるので、「i < data.length」とするのが正しい書き方です。こうしたエラーは、Spring MVCのWebアプリでもよく発生します。画面に一覧を表示している途中で突然落ちてしまい、原因を探すとインデックス指定のミスだったということがよくあります。Javaの初心者は特に注意しましょう。
次は、ループの中でインデックスを間違えて変更してしまう例です。for文の増減式はとても重要で、ここが変わると繰り返しの流れが壊れてしまいます。例えば、ブロックの中でインデックスを変更してしまうと、意図と違う動きになることがあります。
public class ChangeIndexExample {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
i = i + 1;
System.out.println(i);
}
}
}
このコードでは、ループのたびにインデックスを二ずつ増やしてしまうため、繰り返し回数が想定より少なくなります。エラーにはなりませんが、初心者が「なぜ全部表示されないんだろう」と悩む原因になります。Javaのfor文では、インデックスは基本的に増減式に任せ、ブロックの中で直接変更しない方が安全です。
さらに、無限ループになってしまう間違いにも注意が必要です。条件式がずっと真のままになると、ループが終わらず処理が止まりません。Javaではコンパイルエラーにならなくても、実行中に止まらなくなるため注意が必要です。
for (int i = 0; i < 5; ) {
System.out.println(i);
}
この例では、増減式が書かれていないため、インデックスが変わらず永遠に繰り返されます。特にWebアプリの場合、無限ループが起こると画面が返ってこなくなり、サーバが動かなくなることもあります。Javaの初心者は、増減式を書き忘れないよう注意しましょう。
7. for文とif文を組み合わせた例
次は、Javaのfor文とif文を組み合わせた例を紹介します。繰り返し処理だけではなく、条件によって動きを変えたい場面はとても多いです。例えば、配列の中から特定の文字だけを表示したり、数字の中から偶数だけを取り出したりできます。こうした処理はSpring MVCのWebアプリでもよく使われます。画面に一覧を表示するときに、特定の条件に合うデータだけを色付きで表示する、といったこともできます。
まずは、数字の中から偶数だけを表示するJavaの例を見てみましょう。for文で数字を順番に取り出し、if文で条件に合うものだけを処理します。
public class EvenNumberExample {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
System.out.println("偶数:" + i);
}
}
}
}
この例では、もし数字が二で割り切れる場合にだけ処理を実行します。Javaのif文は条件をチェックするため、for文と組み合わせることでとても強力になります。繰り返し処理の中で条件判定を行うのは、実務でも非常によくある書き方です。
次は、配列の中から特定の文字だけを選び出す例です。Webアプリの中でも、特定の名前だけをフィルタリングするような動きは頻繁に使われます。Javaではif文で条件を作ることで、必要な値だけを扱うことができます。
public class FilterExample {
public static void main(String[] args) {
String[] names = {"山田", "田中", "佐藤", "中村"};
for (int i = 0; i < names.length; i++) {
if (names[i].contains("田")) {
System.out.println("田がつく名前:" + names[i]);
}
}
}
}
この例では、文字列の中に「田」が含まれているかどうかをif文で判定しています。Javaのcontainsメソッドはとても便利で、Webアプリで文字検索をするときにも使われます。Spring MVCのコントローラでデータを取り出し、その中から表示したい条件だけを選ぶ場合、このような組み合わせが役立ちます。
さらに、for文とif文を組み合わせると、合計値や最大値を求める処理にも使えます。例えば、配列の中からもっとも大きい数字を見つけたいとき、繰り返し処理の中で値を比較し続ける方法があります。こうした処理は、商品価格や点数の分析など、Webアプリでも役立ちます。
public class MaxExample {
public static void main(String[] args) {
int[] scores = {55, 80, 72, 90, 68};
int max = scores[0];
for (int i = 1; i < scores.length; i++) {
if (scores[i] > max) {
max = scores[i];
}
}
System.out.println("最大値:" + max);
}
}
このコードでは、ループで値を順番に確認し、if文でより大きい数字が見つかったときに更新しています。Javaの初心者でも仕組みを理解しやすく、実際の開発でもよく使われる考え方です。こうしたロジックは、Spring MVCでデータを扱うときにも直接応用できます。
Javaのfor文とif文を組み合わせることで、ただ繰り返すだけではなく、条件付きで処理を行うことができます。Webアプリの一覧画面、検索、フィルタリングなど、現場で使う場面はとても多いです。繰り返し処理と条件分岐はどちらも基本的な文法ですが、この二つが組み合わさると非常に強力な機能になります。