位置:首頁 > Java技術 > Java教學 > Java循環for, while和do...while

Java循環for, while和do...while

可能存在一種情況,當我們需要執行的代碼塊數次,並且通常被稱為一個循環。

Java有非常靈活的三循環機製。可以使用以下三種循環之一:

  • while 循環

  • do...while 循環

  • for 循環

從Java5,增強的for循環中進行了介紹。這主要是用於數組。

while 循環:

while循環是一個控製結構,可以重複的特定任務次數。

語法:

while循環的語法是:

while(Boolean_expression)
{
   //Statements
}

在執行時,如果布爾表達式的結果為真,則循環中的動作將被執行。這將繼續下去,隻要該表達式的結果為真。

在這裡,while循環的關鍵點是循環可能不會永遠運行。當表達式進行測試,結果為 false,循環體將被跳過,在while循環之後的第一個語句將被執行。

例子:

public class Test {

   public static void main(String args[]) {
      int x = 10;

      while( x < 20 ) {
         System.out.print("value of x : " + x );
         x++;
         System.out.print("
");
      }
   }
}

這將產生以下結果:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

do...while 循環:

do ... while循環類似於while循環,不同的是一個do ... while循環是保證至少執行一次。

語法

do...while循環的語法是:

do
{
   //Statements
}while(Boolean_expression);

請注意,布爾表達式出現在循環的結尾,所以在循環中的語句執行前一次布爾測試。

如果布爾表達式為true,控製流跳回起來,並且在循環中的語句再次執行。這個過程反複進行,直到布爾表達式為 false。

例子:

public class Test {

   public static void main(String args[]){
      int x = 10;

      do{
         System.out.print("value of x : " + x );
         x++;
         System.out.print("
");
      }while( x < 20 );
   }
}

這將產生以下結果:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

for 循環:

for循環是一個循環控製結構,可以有效地編寫需要執行的特定次數的循環。

知道多少次的任務是要重複一個for循環是有好處的。

語法

for循環的語法是:

for(initialization; Boolean_expression; update)
{
   //Statements
}

下麵是控製在一個流程的循環:

  • 初始化步驟首先被執行,並且僅一次。這個步驟可聲明和初始化任何循環控製變量。不需要把一個聲明在這裡,隻要一個分號出現。

  • 接下來,布爾表達式求值。如果是 true,則執行循環體。如果是 false,則循環體不執行和流程控製的跳轉到下一個語句過去的for循環。

  • 之後循環體在for循環執行時,控製流程跳轉備份到更新語句。該語句允許更新任何循環控製變量。這個語句可以留空,隻要一個分號出現的布爾表達式之後。

  • 布爾表達式現在再次評估計算。如果是 true,循環執行,並重複這個過程(循環體,然後更新的步驟,然後布爾表達式)。之後,布爾表達式為 false,則循環終止。

例子:

public class Test {

   public static void main(String args[]) {

      for(int x = 10; x < 20; x = x+1) {
         System.out.print("value of x : " + x );
         System.out.print("
");
      }
   }
}

這將產生以下結果:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

for循環在Java中增強版:

從Java5,增強的for循環中進行了介紹。這主要是用於數組。

語法

增強的for循環的語法是:

for(declaration : expression)
{
   //Statements
}
  • 聲明: 新聲明塊變量,這是一種與正在訪問數組中的元素兼容的。變量將是可利用的塊內並且它的值將是相同的作為當前的數組元素。

  • 表達: 這個計算結果完成需要循環數組。表達式可以是一個數組變量或方法調用返回一個數組。

例子:

public class Test {

   public static void main(String args[]){
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("
");
      String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
   }
}

這將產生以下結果:

10,20,30,40,50,
James,Larry,Tom,Lacy,

break關鍵字:

關鍵字break是用來停止整個循環。 break關鍵字必須使用任何循環或switch語句中。

關鍵字break將停止最內層循環的執行,並開始執行的下一行代碼的程序段後。

語法

break語法是任何循環中一個單獨的語句:

break;

例子:

public class Test {

   public static void main(String args[]) {
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {
         if( x == 30 ) {
	      break;
         }
         System.out.print( x );
         System.out.print("
");
      }
   }
}

這將產生以下結果:

10
20

continue 關鍵字:

continue關鍵字可以在任一環的控製結構可以使用。它使循環立即跳轉到循環的下一次迭代.

  • 在for循環中,continue關鍵字會導致流程控製的立即跳轉到更新語句。

  • 在一個while循環或do/while循環,流控製的立即跳轉到布爾表達式。

語法

continue 語法是任何循環中一個單獨的語句:

continue;

例子:

public class Test {

   public static void main(String args[]) {
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {
         if( x == 30 ) {
	      continue;
         }
         System.out.print( x );
         System.out.print("
");
      }
   }
}

這將產生以下結果:

10
20
40
50

下一步?

在下麵的章節中,我們將學習Java編程中的決策語句。