【6日でできるJava入門】制御文① whileループ


 プログラムは、通常上から順に文を実行していきます。しかし、ある処理を繰り返したり、途中で条件によって飛ばしたりしたい場合があります。このような「処理の流れ」をコントロールするために使うのが制御文です。ここでは、繰り返し処理を実現する代表的な構文「whileループ」について詳しく解説します。Javaではwhile文以外にもfor文やdo-while文、if文などがありますが、まずは「while文」の基礎から始めましょう。

1.while文の基本

1.1. while文の書式と動作

構成要素内容・ポイント
キーワードwhile
条件式ループを続けるかどうか判定する式(trueなら繰り返す)
ブロック{} で囲まれた繰り返す処理(1文なら省略可)

while文の基本構文

while (条件式) {
    // 繰り返す処理
}
  • 条件式がtrueの間、ブロック内部の処理が何度も実行されます。
  • 1回ブロックを実行した後、再び条件式を評価し、falseになった時点でwhileループを終了します。

1.2. 基本例:配列の内容を順に表示する

ファイル名: lesson08_1.java

public class lesson08_1 {
    public static void main(String[] args) {
        String[] fruits = {"りんご", "みかん", "バナナ", "ぶどう"};
        int index = 0;
        int displayNum;
        
        while (index < fruits.length) {
            displayNum = index + 1;
            System.out.println(displayNum + "番目の果物: " + fruits[index]);
            index++;
        }
    }
}

実行結果例

1番目の果物: りんご
2番目の果物: みかん
3番目の果物: バナナ
4番目の果物: ぶどう

解説

  • 配列fruitsの要素数は4つ(fruits.length == 4)。
  • indexは0から始めて、index < fruits.length の間だけループ。
  • displayNum = index + 1 で1から番号を振っている。
  • index++でループカウンタを1ずつ増やす。

2.while文の発展例と応用

2.1. ループカウンタの始点を変える

  • ループカウンタを1から始め、配列のインデックスにはchoiceID-1を使う書き方もできます。

ファイル名: lesson08_2.java

public class lesson08_2 {
    public static void main(String[] args) {
        String[] cities = {"札幌", "仙台", "名古屋", "福岡"};
        int choiceID = 1;
        while (choiceID < cities.length + 1) {
            System.out.println(choiceID + ":" + cities[choiceID-1]);
            choiceID++;
        }
    }
}

実行結果例

1:札幌
2:仙台
3:名古屋
4:福岡

2.2. do-while文

  • while文は「条件を先に判定」するため、初回から条件がfalseの場合は一度もブロックが実行されません。
  • do-while文は「必ず1回ブロックを実行」した後で条件を判定します。

構文と例

int num = 1;
do {
    System.out.println("数字: " + num);
    num++;
} while (num <= 3);

実行結果

数字: 1
数字: 2
数字: 3

ポイント

  • do-while文では、whileの後ろに必ずセミコロン(;)を付ける点に注意しましょう。

 このように、whileループは条件が成立している間、同じ処理を繰り返す強力な制御構文です。配列の要素を順に処理したり、繰り返し回数が決まっていない場合に特に有効です。繰り返し処理をマスターして、より柔軟なJavaプログラムを書けるようになりましょう。