順序結構的程序語句只能被執(zhí)行一次支竹。如果您想要同樣的操作執(zhí)行多次,,就需要使用循環(huán)結構梭伐。
Java中有三種主要的循環(huán)結構:
while?循環(huán)
do…while?循環(huán)
for?循環(huán)
在Java5中引入了一種主要用于數(shù)組的增強型for循環(huán)。
while 循環(huán)
while是最基本的循環(huán),它的結構為:
while( 布爾表達式 ) {? //循環(huán)內(nèi)容}
只要布爾表達式為 true硕噩,循環(huán)就會一直執(zhí)行下去。
實例
Test.java 文件代碼:
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("\n");
? ? ? }? }}
以上實例編譯運行結果如下:
value of x : 10value of x : 11value of x : 12value of x : 13value of x : 14value of x : 15value of x : 16value of x : 17value of x : 18value of x : 19
do…while 循環(huán)
對于 while 語句而言缭贡,如果不滿足條件炉擅,則不能進入循環(huán)。但有時候我們需要即使不滿足條件阳惹,也至少執(zhí)行一次谍失。
do…while 循環(huán)和 while 循環(huán)相似,不同的是莹汤,do…while 循環(huán)至少會執(zhí)行一次快鱼。
do {? ? ? //代碼語句}while(布爾表達式);
注意:布爾表達式在循環(huán)體的后面,所以語句塊在檢測布爾表達式之前已經(jīng)執(zhí)行了纲岭。 如果布爾表達式的值為 true抹竹,則語句塊一直執(zhí)行,直到布爾表達式的值為 false止潮。
實例
Test.java 文件代碼:
public class Test {? public static void main(String args[]){? ? ? int x = 10;
? ? ? do{? ? ? ? System.out.print("value of x : " + x );
? ? ? ? x++;
? ? ? ? System.out.print("\n");
? ? ? }while( x < 20 );
? }}
以上實例編譯運行結果如下:
value of x : 10value of x : 11value of x : 12value of x : 13value of x : 14value of x : 15value of x : 16value of x : 17value of x : 18value of x : 19
for循環(huán)
雖然所有循環(huán)結構都可以用 while 或者 do...while表示窃判,但 Java 提供了另一種語句 —— for 循環(huán),使一些循環(huán)結構變得更加簡單喇闸。
for循環(huán)執(zhí)行的次數(shù)是在執(zhí)行前就確定的袄琳。語法格式如下:
for(初始化; 布爾表達式; 更新) {? ? //代碼語句}
關于 for 循環(huán)有以下幾點說明:
最先執(zhí)行初始化步驟询件。可以聲明一種類型跨蟹,但可初始化一個或多個循環(huán)控制變量雳殊,也可以是空語句。
然后窗轩,檢測布爾表達式的值夯秃。如果為 true,循環(huán)體被執(zhí)行痢艺。如果為false仓洼,循環(huán)終止,開始執(zhí)行循環(huán)體后面的語句堤舒。
執(zhí)行一次循環(huán)后色建,更新循環(huán)控制變量。
再次檢測布爾表達式舌缤。循環(huán)執(zhí)行上面的過程箕戳。
實例
Test.java 文件代碼:
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("\n");
? ? ? }? }}
以上實例編譯運行結果如下:
value of x : 10value of x : 11value of x : 12value of x : 13value of x : 14value of x : 15value of x : 16value of x : 17value of x : 18value of x : 19
Java 增強 for 循環(huán)
Java5 引入了一種主要用于數(shù)組的增強型 for 循環(huán)。
Java 增強 for 循環(huán)語法格式如下:
for(聲明語句 : 表達式){? //代碼句子}
聲明語句:聲明新的局部變量国撵,該變量的類型必須和數(shù)組元素的類型匹配陵吸。其作用域限定在循環(huán)語句塊,其值與此時數(shù)組元素的值相等介牙。
表達式:表達式是要訪問的數(shù)組名壮虫,或者是返回值為數(shù)組的方法。
實例
Test.java 文件代碼:
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("\n");
? ? ? 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 主要用在循環(huán)語句或者 switch 語句中环础,用來跳出整個語句塊囚似。
break 跳出最里層的循環(huán),并且繼續(xù)執(zhí)行該循環(huán)下面的語句线得。
語法
break 的用法很簡單饶唤,就是循環(huán)結構中的一條語句:
break;
實例
Test.java 文件代碼:
public class Test {? public static void main(String args[]) {? ? ? int [] numbers = {10, 20, 30, 40, 50};
? ? ? for(int x : numbers ) {? ? ? ? // x 等于 30 時跳出循環(huán)? ? ? ? if( x == 30 ) {? ? ? ? ? ? break;
? ? ? ? }? ? ? ? System.out.print( x );
? ? ? ? System.out.print("\n");
? ? ? }? }}
以上實例編譯運行結果如下:
1020
continue 關鍵字
continue 適用于任何循環(huán)控制結構中。作用是讓程序立刻跳轉到下一次循環(huán)的迭代框都。
在 for 循環(huán)中搬素,continue 語句使程序立即跳轉到更新語句。
在 while 或者 do…while 循環(huán)中魏保,程序立即跳轉到布爾表達式的判斷語句熬尺。
語法
continue 就是循環(huán)體中一條簡單的語句:
continue;
實例
Test.java 文件代碼:
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("\n");
? ? ? }? }}
以上實例編譯運行結果如下:
10204050