while は繰り返しを行う処理制御文です。whileループは次のような書式です。
while ( expression ) statement
この文ではまず 「expression」 が評価され、それが真であれば「statement」が実行されます。「statement」が実行されると再び 「expression」 が評価され、それが再び真であれば再度 「statement」 が実行されます。これは 「expression」が偽になるまで続きます。
例として100までのフィボナッチ数列1を求めるプログラムをあげておきます。
Sample14.java
01|public class Sample14{ 02| public static void main( String[] args){ 03| int MAX = 100; 04| int a = 1; // a(N-1) 05| int b = 1; // a(N) 06| 07| // 初項を表示 08| System.out.println( a); 09| 10| while( b < MAX){ 11| // 第 N 項を表示 12| System.out.println( b); 13| b = b + a; // a(N+1) = a(N) + a(N-1) 14| a = b - a; 15| } 16| } 17|}
実行結果は次のようになります。
C:\jprogram>java Sample14 1 1 2 3 5 8 13 21 34 55 89
100までのフィボナッチ数列を求めることができました。
上の while 文では、「expression」 の評価のあとに「statement」が実行されるので「expression」の初期値によっては「statement」が一度も実行されない可能性があります。「statement」を少なくとも一度は実行させたいときにはdo-while 文を使うことができます。
do statement while ( expression );
この書式では評価は「statement」を実行したあとに行われます。
最終更新時間:2009年04月25日 21時35分50秒