while語(yǔ)句
while語(yǔ)句是一種先判斷的循環(huán)結(jié)構(gòu),在不知道循環(huán)次數(shù)的情況下使用while循環(huán)。格式如下:
while 循環(huán)條件{
循環(huán)體
}
while循環(huán)沒(méi)有初始化語(yǔ)句,只要循環(huán)條件為true,循環(huán)就會(huì)一直執(zhí)行下去,直到循環(huán)條件為false。下面看一個(gè)簡(jiǎn)單的示例,代碼如下:
1 | ?var number = 90
2 | ?while number < 200{
3 | ?????number += 10
4 | ?}
5 | ?print("number = \(number)")
輸出結(jié)果如下:
number = 200
上述程序代碼要實(shí)現(xiàn)使number的值等于200。Number初始化的值為90,使用while循環(huán),循環(huán)條件為number<200,在滿足循環(huán)條件時(shí),number會(huì)一直執(zhí)行number+=10的操作,直到number的值大于或等于200。此時(shí)循環(huán)會(huì)中止。
要注意幾點(diǎn), while循環(huán)條件語(yǔ)句中只能寫一個(gè)表達(dá)式,而且是一個(gè)布爾型表達(dá)式,那么如果循環(huán)體中需要循環(huán)變量,就必須在while語(yǔ)句之前對(duì)循環(huán)變量進(jìn)行初始化。示例中先給number賦值為90,然后在循環(huán)體內(nèi)部必須通過(guò)語(yǔ)句更改循環(huán)變量的值,否則會(huì)發(fā)生死循環(huán)。
提示:死循環(huán)對(duì)于單線程程序而言是異常災(zāi)難,但是在多線程程序中,死循環(huán)是必須的,死循環(huán)會(huì)出現(xiàn)在子線程中。例如游戲設(shè)計(jì)中對(duì)玩家輸入裝備的輪詢,或是動(dòng)畫程序的播放都是需要死循環(huán)的。下面的代碼是死循環(huán)的一般寫法。
while ture{
循環(huán)體
}
repeatewhile語(yǔ)句
repeatewhile語(yǔ)句在考慮循環(huán)條件前先執(zhí)行一次整個(gè)循環(huán)體,然后再繼續(xù)重復(fù)循環(huán)直到條件為false。一般格式如下:
repeate{
語(yǔ)句組} while 循環(huán)條件
repeatewhile循環(huán)沒(méi)有初始化語(yǔ)句,循環(huán)次數(shù)是不可知的,不管循環(huán)條件是否滿足,都會(huì)先執(zhí)行一次循環(huán)體,然后再判斷循環(huán)條件。如果條件滿足則執(zhí)行循環(huán)體,不滿足則停止循環(huán)。下面看一個(gè)示例代碼:
1| ?var ?number = 90
2| ?repeat {
3| ?????number += 10
4| ?}while number < 200
5| ?print("number :\(number)")
輸出結(jié)果如下:number:200
示例與上一節(jié)的示例是一樣的,都是要滿足number的值不小于200。輸出結(jié)果也是一樣的。