物件導向程式設計

 

 

    3.3 while迴圈

 

 


授課教師:陳慶瀚

WWW : http://www.miat.ee.isu.edu.tw/java

E-mail : pierre@isu.edu.tw   

 


while迴圈

while 迴圈語法如下 :

while (條件運算式)

{

         陳述1

         陳述2

        ......

}

就像for迴圈一樣,while迴圈在執行其內部陳述前會先檢查條件運算式,如果其值為true,則執行其內部陳述,否則就結束while迴圈。

如果內部陳述只有一個,可以省略大括號{}

 

while (條件運算式)

         陳述;

 

for迴圈與while迴圈有何差別呢?基本上,所有以for迴圈可以解決的問題都可以替換成while迴圈。但是兩者的應用時機還是有所差別,for迴圈適用在已知迴圈數的問題,while迴圈則適用在無法預知迴圈數的問題。

 

class Hello 

  public static void main (String args[]) 

 

     int i;

     System.out.print("Hello "); // Say Hello 

     i = 0; // Initialize loop counter 

     while (i < args.length) 

     { // Test and Loop 

        System.out.print(args[i]); 

        System.out.print(" "); 

        i = i + 1; // Increment Loop Counter 

     

      System.out.print("i= "+i); 

      System.out.println(); // Finish the line 

 

}

 

do-while迴圈

 

do-while 迴圈的語法:

   do

   {

      迴圈陳述;

   }

   while (條件運算式);

 

for迴圈和while迴圈有一個共同的特性,那就是它們都是屬於前置檢查(pre-test)的控制迴圈方式,也就是先行判斷條件是否滿足,如果滿足的話,再執行迴圈內的陳述。本節所要介紹的do-while迴圈正好相反,它屬於後設檢查(post-test)的控制迴圈方式。do-while迴圈不論任何條件,至少都會執行一次循環,當一次循環結束,才檢查條件是否滿足,如果是,再執行下一個循環。

class Hello 

   public static void main (String args[]) 

   { 

      int i = -1; 

      do 

      { 

         if (i == -1) System.out.print("Hello "); 

         else 

         { 

            System.out.print(args[i]); 

            System.out.print(" "); 

         } 

         i = i + 1; 

      } while (i < args.length); 

      System.out.println(); // Finish

   } 

}


課堂練習:

1. 使用while迴圈來計算1到100的累加值。

2.    使用while迴圈來計算110的奇數和。

3.    使用while迴來判斷85是否為質數。



 

物件導向程式設計

義守大學電機系 陳慶瀚

2001.10.02