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 文を使用して抜け出しています。