Java で繰り返し処理を行いたい場合には while 文を使用します。ここでは while 文の使い方について説明します。
while 文の使い方
while 文は以下のように記述します。
1 2 3 |
while(条件式) { 条件式が真のときに繰り返し実行される処理 } |
while 文は、まず while 文の後の括弧 () の中の条件式が評価されます。この条件式が真であれば、 括弧 {} 内で記述したコードが実行されます。
このコードが実行された後、また条件式が評価され条件式が真であれば、また括弧 {} 内で記述したコードが実行されます。これは条件式が真であれば、何度でも繰り返されます。もし条件式が偽になれば、while 文の処理が終了します。
以下は while 文を使用したプログラム例です。
1 2 3 4 5 6 7 8 9 |
class Sample { public static void main(String args[]) { int n = 0; while ( n < 3 ) { System.out.println(n); n++; // n に 1 を足す } } } |
実行結果
1 2 3 |
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 文を使ったプログラム例です。
1 2 3 4 5 6 7 8 9 10 11 12 |
class Sample { public static void main(String args[]) { int n = 0; while ( n < 3 ) { if ( n == 1 ) { break; } System.out.println("n:" + n); n++; } } } |
実行結果
1 |
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 にすることで実現することができます。
1 2 3 4 5 6 7 8 9 10 11 12 |
class Sample { public static void main(String args[]) { int n = 0; while ( true ) { if ( n == 100 ) { break; } System.out.println(n); n++; } } } |
上のプログラムでは、無限ループを break 文を使用して抜け出しています。