Java的循環(huán)結(jié)構(gòu)
Java主要有三種循環(huán)結(jié)構(gòu):
- while循環(huán)
- do...while循環(huán)
- for循環(huán)
但是在Java5的時(shí)候引入了一種主要用于數(shù)組的增強(qiáng)型for循環(huán)维雇。
while循環(huán)
while是最基本的循環(huán)咐蝇,它的語(yǔ)法結(jié)構(gòu)為:
while( 布爾表達(dá)式 ) {
//循環(huán)內(nèi)容
}
只要布爾表達(dá)式為 true,循環(huán)體會(huì)一直執(zhí)行下去隆箩。
while循環(huán)的思路
- 分析循環(huán)條件和循環(huán)操作辖所。
- 套用while語(yǔ)法結(jié)構(gòu)寫(xiě)出代碼擅笔。
- 檢查循環(huán)能否退出险胰。
代碼實(shí)例
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");
}
}
}
程序運(yùn)行結(jié)果為:
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
使用while循環(huán)解決問(wèn)題時(shí)汹押,一定要注意檢查循環(huán)是否能退出,即避免出現(xiàn)“死循環(huán)”起便。
do...while循環(huán)
對(duì)于 while 語(yǔ)句而言棚贾,如果不滿足條件,則不能進(jìn)入循環(huán)榆综。但有時(shí)候我們需要即使不滿足條件妙痹,也至少執(zhí)行一次。
do…while 循環(huán)和 while 循環(huán)相似鼻疮,不同的是怯伊,do…while 循環(huán)至少會(huì)執(zhí)行一次。
語(yǔ)句結(jié)構(gòu)
do {
//代碼語(yǔ)句
}while(布爾表達(dá)式);
注意:布爾表達(dá)式在循環(huán)體的后面陋守,所以語(yǔ)句塊在檢測(cè)布爾表達(dá)式之前已經(jīng)執(zhí)行了。 如果布爾表達(dá)式的值為 true利赋,則語(yǔ)句塊一直執(zhí)行褂微,直到布爾表達(dá)式的值為 false实檀。
代碼實(shí)例
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 );
}
}
程序運(yùn)行結(jié)果為:
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
while循環(huán)與do...while循環(huán)對(duì)比
相同點(diǎn)
都是循環(huán)結(jié)構(gòu),使用“while(循環(huán)條件)”表示循環(huán)條件,使用大括號(hào)將循環(huán)操作括起來(lái)德迹。
不同點(diǎn)
(1)語(yǔ)法不同。與 while 循環(huán)相比面胃碾,do-while 循環(huán)將 while 關(guān)鍵字和循環(huán)條件放在
后面,而且前面多了 do 關(guān)健字易稠,后面多了一個(gè)分號(hào)。
(2)執(zhí)行次序不同吟秩。while 循環(huán)先判斷咱扣,再執(zhí)行:do-while 循環(huán)先執(zhí)行,再判斷涵防。
(3)一開(kāi)始循環(huán)條件就不滿足的情況下闹伪,while 循環(huán)一次都不會(huì)執(zhí)行,do-while 循環(huán)
則不管什么情況都至少執(zhí)行一次壮池。
for循環(huán)
雖然所有循環(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ǔ)法結(jié)構(gòu)
for(初始化; 布爾表達(dá)式; 更新) {
//代碼語(yǔ)句
}
for循環(huán)分析
- 初始部分:設(shè)置循環(huán)的初始狀態(tài)。比如我們?cè)O(shè)置記錄循環(huán)次數(shù)的變量 i 為 0.
- 循環(huán)體:重復(fù)執(zhí)行的代碼
- 迭代部分:下一次循環(huán)開(kāi)始前要執(zhí)行的部分,在 while 循環(huán)中它作為循環(huán)體的一部分橙依。比如使用“i++;"進(jìn)行循環(huán)次數(shù)的累加证舟。
- 循環(huán)條件:判斷是否繼續(xù)循環(huán)的條件硕旗。比如使用”i<100"判斷循環(huán)次數(shù)是否已經(jīng)達(dá)到 100次。
代碼實(shí)例
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");
}
}
}
程序運(yùn)行結(jié)果:
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
Java的增強(qiáng)型for循環(huán)
Java5 引入了一種主要用于數(shù)組的增強(qiáng)型 for 循環(huán)褪储。
語(yǔ)法結(jié)構(gòu)
for(聲明語(yǔ)句 : 表達(dá)式)
{
//代碼句子
}
聲明語(yǔ)句:聲明新的局部變量卵渴,該變量的類型必須和數(shù)組元素的類型匹配。其作用域限定在循環(huán)語(yǔ)句塊鲤竹,其值與此時(shí)數(shù)組元素的值相等浪读。
表達(dá)式:表達(dá)式是要訪問(wèn)的數(shù)組名,或者是返回值為數(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(",");
}
}
}
運(yùn)行結(jié)果為:
10,20,30,40,50,
James,Larry,Tom,Lacy,