順序結(jié)構(gòu)的程序語(yǔ)句只能被執(zhí)行一次。如果您想要同樣的操作執(zhí)行多次,,就需要使用循環(huán)結(jié)構(gòu)。
Java中有三種主要的循環(huán)結(jié)構(gòu):
while 循環(huán)
do…while 循環(huán)
for 循環(huán)
在Java5中引入了一種主要用于數(shù)組的增強(qiáng)型for循環(huán)。
while是基本的循環(huán),它的結(jié)構(gòu)為:
while( 布爾表達(dá)式 ) { //循環(huán)內(nèi)容}
只要布爾表達(dá)式為 true,循環(huán)體會(huì)一直執(zhí)行下去。
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");
} }
}
以上實(shí)例編譯運(yùn)行結(jié)果如下:
value of x : 10對(duì)于 while 語(yǔ)句而言,如果不滿足條件,則不能進(jìn)入循環(huán)。但有時(shí)候我們需要即使不滿足條件,也至少執(zhí)行一次。
do…while 循環(huán)和 while 循環(huán)相似,不同的是,do…while 循環(huán)至少會(huì)執(zhí)行一次。
do { //代碼語(yǔ)句注意:布爾表達(dá)式在循環(huán)體的后面,所以語(yǔ)句塊在檢測(cè)布爾表達(dá)式之前已經(jīng)執(zhí)行了。 如果布爾表達(dá)式的值為 true,則語(yǔ)句塊一直執(zhí)行,直到布爾表達(dá)式的值為 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("\n");
}while( x < 20 );
}
}
以上實(shí)例編譯運(yùn)行結(jié)果如下:
value of x : 10雖然所有循環(huán)結(jié)構(gòu)都可以用 while 或者 do...while表示,但 Java 提供了另一種語(yǔ)句 —— for 循環(huán),使一些循環(huán)結(jié)構(gòu)變得更加簡(jiǎn)單。
for循環(huán)執(zhí)行的次數(shù)是在執(zhí)行前就確定的。語(yǔ)法格式如下:
for(初始化; 布爾表達(dá)式; 更新) { //代碼語(yǔ)句}
關(guān)于 for 循環(huán)有以下幾點(diǎn)說明:
先執(zhí)行初始化步驟。可以聲明一種類型,但可初始化一個(gè)或多個(gè)循環(huán)控制變量,也可以是空語(yǔ)句。
然后,檢測(cè)布爾表達(dá)式的值。如果為 true,循環(huán)體被執(zhí)行。如果為false,循環(huán)終止,開始執(zhí)行循環(huán)體后面的語(yǔ)句。
執(zhí)行一次循環(huán)后,更新循環(huán)控制變量。
再次檢測(cè)布爾表達(dá)式。循環(huán)執(zhí)行上面的過程。
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");
}
}
}
以上實(shí)例編譯運(yùn)行結(jié)果如下:
value of x : 10Java5 引入了一種主要用于數(shù)組的增強(qiáng)型 for 循環(huán)。
Java 增強(qiáng) for 循環(huán)語(yǔ)法格式如下:
for(聲明語(yǔ)句 : 表達(dá)式){ //代碼句子}
聲明語(yǔ)句:聲明新的局部變量,該變量的類型必須和數(shù)組元素的類型匹配。其作用域限定在循環(huán)語(yǔ)句塊,其值與此時(shí)數(shù)組元素的值相等。
表達(dá)式:表達(dá)式是要訪問的數(shù)組名,或者是返回值為數(shù)組的方法。
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(",");
}
}
以上實(shí)例編譯運(yùn)行結(jié)果如下:
10,20,30,40,50,James,Larry,Tom,Lacy,break 主要用在循環(huán)語(yǔ)句或者 switch 語(yǔ)句中,用來跳出整個(gè)語(yǔ)句塊。
break 跳出里層的循環(huán),并且繼續(xù)執(zhí)行該循環(huán)下面的語(yǔ)句。
break 的用法很簡(jiǎn)單,就是循環(huán)結(jié)構(gòu)中的一條語(yǔ)句:
break;public class Test {
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) { // x 等于 30 時(shí)跳出循環(huán)
if( x == 30 ) {
break;
}
System.out.print( x );
System.out.print("\n");
}
}
以上實(shí)例編譯運(yùn)行結(jié)果如下:
1020continue 適用于任何循環(huán)控制結(jié)構(gòu)中。作用是讓程序立刻跳轉(zhuǎn)到下一次循環(huán)的迭代。
在 for 循環(huán)中,continue 語(yǔ)句使程序立即跳轉(zhuǎn)到更新語(yǔ)句。
在 while 或者 do…while 循環(huán)中,程序立即跳轉(zhuǎn)到布爾表達(dá)式的判斷語(yǔ)句。
continue 就是循環(huán)體中一條簡(jiǎn)單的語(yǔ)句:
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("\n");
}
}
以上實(shí)例編譯運(yùn)行結(jié)果如下:
10204050本站文章版權(quán)歸原作者及原出處所有 。內(nèi)容為作者個(gè)人觀點(diǎn), 并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),本站只提供參考并不構(gòu)成任何投資及應(yīng)用建議。本站是一個(gè)個(gè)人學(xué)習(xí)交流的平臺(tái),網(wǎng)站上部分文章為轉(zhuǎn)載,并不用于任何商業(yè)目的,我們已經(jīng)盡可能的對(duì)作者和來源進(jìn)行了通告,但是能力有限或疏忽,造成漏登,請(qǐng)及時(shí)聯(lián)系我們,我們將根據(jù)著作權(quán)人的要求,立即更正或者刪除有關(guān)內(nèi)容。本站擁有對(duì)此聲明的最終解釋權(quán)。