循環(huán)結(jié)構(gòu)
為什么要使用循環(huán)?解決編碼復(fù)雜度。
什么是循環(huán)?重復(fù)做同一件事情或者做同樣的事情。
While循環(huán)
While(布爾表達(dá)式){
語(yǔ)句或語(yǔ)句塊;
}
while循環(huán)語(yǔ)句的執(zhí)行過(guò)程如下:
- 首先判斷while后面小括號(hào)中*表達(dá)式的值,如果為true,就從后面緊跟的左大括號(hào)開(kāi)始,按順序執(zhí)行大括號(hào)里的語(yǔ)句, 這稱(chēng)為“執(zhí)行循環(huán)體”;
- 循環(huán)體執(zhí)行結(jié)束,再次返回對(duì)while后面小括號(hào)中的表達(dá)式的值進(jìn)行判斷,重復(fù)執(zhí)行上一步,直到表達(dá)式的值為false;
- 此時(shí)結(jié)束執(zhí)行while語(yǔ)句,while循環(huán)結(jié)束。
do-while循環(huán)
在大多數(shù)情況下,while語(yǔ)句和do-while語(yǔ)句完成相同的功能,它們的作用是等價(jià)的。
do{
語(yǔ)句或語(yǔ)句塊;
}while(布爾表達(dá)式);
do-while循環(huán)語(yǔ)句的執(zhí)行過(guò)程如下:
- 首先執(zhí)行do后面的循環(huán)體語(yǔ)句;
- 然后對(duì)while后面小括號(hào)中的布爾表達(dá)式的值進(jìn)行判斷,如果為true,再次執(zhí)行do后面的循環(huán)體語(yǔ)句,并再次對(duì)布爾表達(dá)式的值進(jìn)行判斷;否則,結(jié)束循環(huán)語(yǔ)句;
- 重復(fù)執(zhí)行上述兩步。
for循環(huán)
for語(yǔ)句是最經(jīng)常使用的循環(huán)語(yǔ)句,一般用在循環(huán)次數(shù)已知的情況下。
在很多情況下,可以使用for語(yǔ)句替代while和do-while語(yǔ)句。
for(初始化表達(dá)式;條件表達(dá)式;迭代語(yǔ)句){
循環(huán)體;
}
for循環(huán)語(yǔ)句的執(zhí)行過(guò)程如下:
- 執(zhí)行初始化表達(dá)式;
- 對(duì)中間的條件表達(dá)式的值進(jìn)行判斷,如果為true,執(zhí)行后面的循環(huán)體語(yǔ)句;
- 執(zhí)行迭代表達(dá)式,改變循環(huán)變量的值;
- 重復(fù)執(zhí)行上述兩步,開(kāi)始下一次循環(huán),直到某次中間的條件表達(dá)式的值為false,結(jié)束整個(gè)循環(huán)語(yǔ)句。
小結(jié):循環(huán)有 3 種寫(xiě)法,while 語(yǔ)句、do … while 語(yǔ)句和 for 語(yǔ)句,但最常用的是 for 語(yǔ)句。for 語(yǔ)句可看作是另外兩種循環(huán)語(yǔ)句的“改進(jìn)版”。本質(zhì)上,三種循環(huán)的寫(xiě)法可以相互替代。
- 當(dāng)循環(huán)次數(shù)不明確且不需要先執(zhí)行一次代碼的時(shí)候,可以使用 while 語(yǔ)句。
- 當(dāng)循環(huán)次數(shù)不明確且無(wú)論如何都要先執(zhí)行一次代碼的時(shí)候,可以使用 do … while 語(yǔ)句。
- 而當(dāng)循環(huán)次數(shù)明確時(shí),不妨采用 for 語(yǔ)句,更加簡(jiǎn)潔明了。
|