Javaの繰り返し:while文

Java で繰り返し処理を行いたい場合には while 文を使用します。ここでは while 文の使い方について説明します。

while 文の使い方

while 文は以下のように記述します。

while(条件式) {
  条件式が真のときに繰り返し実行される処理
}

while 文は、まず while 文の後の括弧 () の中の条件式が評価されます。この条件式が真であれば、 括弧 {} 内で記述したコードが実行されます。

このコードが実行された後、また条件式が評価され条件式が真であれば、また括弧 {} 内で記述したコードが実行されます。これは条件式が真であれば、何度でも繰り返されます。もし条件式が偽になれば、while 文の処理が終了します。

以下は while 文を使用したプログラム例です。

class Sample {
  public static void main(String args[]) {
    int n = 0;
    while ( n < 3 ) {
      System.out.println(n);
      n++; // n に 1 を足す
    }
  }
}

実行結果

0
1
2

上のプログラムでは、最初に n を 0 で初期化しています。まず、while 文で指定した条件式 n < 3 が評価され、これは真なので、括弧 {} 内のコードが実行され、「0」が表示されます。

その後に、 n++ が実行され n に 1 が足され、 n が 1 になります。次に、 n < 3 が評価され、n が 1 のときも条件式は真なので、「1」が表示されます。そして、また n++ が実行され n に 1 が足され、n が 2 になります。

さらに、 n < 3 が評価され、 n が 2 のときも真なので、「2」が表示されます。そして、また n++ が実行され n に 1 が足され、n が 3 になります。

また、 n < 3 が評価されますが、これは偽となるので while 文から抜け出しプログラムが終了します。

while 文を途中で終了する: break 文

break 文を使えば while 文の繰り返しを途中で抜け出すことができます。

以下は break 文を使ったプログラム例です。

class Sample {
  public static void main(String args[]) {
    int n = 0;
    while ( n < 3 ) {
      if ( n == 1 ) {
        break;
      }
      System.out.println("n:" + n);
      n++;
    }
  }
}

実行結果

n: 0

このプログラムでは、最初に n = 0 で初期化しています。まず、n < 3 が評価され、条件式が真なので、while 文の {} 内のコードが実行されます。if 文の条件式 n == 1 は偽なので、break 文は実行さずに「n: 0」が表示され、n に 1 が足され、n は 1 になります。

次に、n < 3 が評価され、条件式が真なので、{} 内のコードが実行されます。このとき if 文の条件式である n == 1 が真になるので、break 文が実行され、while 文のループから抜け出します。

無限ループを作る: while(true)

プログラムを作成する場合、入力待ちなどで無限ループを使用する場合があります。そのときは、while 文の条件式を true にすることで実現することができます。

class Sample {
  public static void main(String args[]) {
    int n = 0;
    while ( true ) {
      if ( n == 100 ) {
        break;
      }
      System.out.println(n);
      n++;
    }
  }
}

上のプログラムでは、無限ループを break 文を使用して抜け出しています。