前回はif文を使って条件分岐を学びました。
今回は、同じ処理を何度も繰り返す「ループ処理」について解説します。
Javaには主に for文 と while文 という2種類のループがあり、これらを使うことでプログラムの幅が大きく広がります。
for文の基本
決まった回数だけ処理を繰り返したいときは for文 を使います。
for (初期化; 条件式; 更新式) {
// 繰り返したい処理
}
「初期化」でループ用の変数を準備し、「条件式」がtrueの間だけ処理を繰り返し、1回処理が終わるごとに「更新式」が実行されます。
サンプルコード(for文)
ファイル作成
「Java01」フォルダに ForTest.java という名前でファイルを作成します

コード入力
以下のコードを入力します。
public class ForTest {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println(i + "回目のループです");
}
}
}

コンパイル
javac ForTest.java

実行
java ForTest
実行結果は次のようになります。
1回目のループです
2回目のループです
3回目のループです
4回目のループです
5回目のループです

while文の基本
繰り返す回数が決まっていない場合は while文 を使います。
while (条件式) {
// 繰り返したい処理
}
条件式がtrueである限り、処理がずっと繰り返されます。
サンプルコード(while文)
ファイル作成
「Java01」フォルダに WhileTest.java という名前でファイルを作成します

コード入力
以下のコードを入力します。
import java.util.Scanner;
public class WhileTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number;
System.out.print("数字を入力してください(0で終了):");
number = sc.nextInt();
while (number != 0) {
System.out.println("入力された数字:" + number);
System.out.print("数字を入力してください(0で終了):");
number = sc.nextInt();
}
System.out.println("プログラムを終了します");
sc.close();
}
}

コンパイル
javac WhileTest.java

実行
java WhileTest
次にターミナルに数字を入力します。
数字を入力してください(0で終了):3
入力された数字:3


数字を入力してください(0で終了):7
入力された数字:7


数字を入力してください(0で終了):0

実行結果は次のようになります。
プログラムを終了します

コードの解説
for文 は「初期化・条件式・更新式」を1行にまとめて書けるため、回数が決まっている繰り返しに向いています。たとえば配列の要素を先頭から末尾まで処理する場合などによく使われます。
while文 は条件式だけを書くシンプルな構文で、いつ終わるか事前にわからない繰り返しに向いています。前回学んだScannerと組み合わせることで、「0が入力されるまで繰り返す」といった対話的なプログラムを作ることができます。
while文を使うときに注意したいのが「無限ループ」です。条件式が常にtrueのままだと、プログラムが永遠に終わらなくなってしまいます。while文の中で必ず条件が変化するように、変数の更新を忘れないようにしましょう。
また、ループの中にif文を入れることもできます。たとえば1から10までの数字のうち偶数だけを表示したい場合は、次のように書けます。
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
System.out.println(i + "は偶数です");
}
}
% は割った余りを求める演算子で、i % 2 == 0 は「2で割った余りが0」、つまり偶数であることを表しています。
まとめ
繰り返し処理は、プログラミングの中でも特に重要な考え方のひとつです。for文 は回数が決まっている処理、while文 は条件によって終わるタイミングが変わる処理、というように使い分けることがポイントです。if文と組み合わせることで、より柔軟で実用的なプログラムが作れるようになります。次のステップとして、複数のデータをまとめて扱える「配列」についても学んでいきましょう。
2026/06/13(土) ぱんまる


コメント