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編程中的決策語句。