トップ 一覧 検索 ヘルプ RSS ログイン

while文とdo-while文の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!! 第一章 Java プログラミングの基礎

!! 1-3. Javaプログラムの基礎

! while文とdo-while文

while は繰り返しを行う処理制御文です。whileループは次のような書式です。

 while ( expression )
     statement

この文ではまず 「expression」 が評価され、それが真であれば「statement」が実行されます。「statement」が実行されると再び 「expression」 が評価され、それが再び真であれば再度 「statement」 が実行されます。これは 「expression」が偽になるまで続きます。

例として100までのフィボナッチ数列1を求めるプログラムをあげておきます。

''Sample14.java''
 1.public class Sample14{
 2.    public static void main( String[] args){
 3.        int MAX = 100;
 4.        int a = 1;       // a(N-1)
 5.        int b = 1;       // a(N)
 6.        
 7.        // 初項を表示
 8.        System.out.println( a);
 9.        
 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.}
{{pre num
public class Sample14{
    public static void main( String[] args){
        int MAX = 100;
        int a = 1;       // a(N-1)
        int b = 1;       // a(N)
        
        // 初項を表示
        System.out.println( a);
        
        while( b < MAX){
            // 第 N 項を表示
            System.out.println( b);
            b = b + a;   // a(N+1) = a(N) + a(N-1)
            a = b - a;
        }
    }
}
}}

実行結果は次のようになります。

 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」を実行したあとに行われます。