本章將介紹Scala編程語(yǔ)言中的循環(huán)控制結(jié)構(gòu)。
可能會(huì)有一種情況,當(dāng)你需要執(zhí)行一段代碼多次。 一般來(lái)說(shuō),語(yǔ)句依次執(zhí)行:函數(shù)中的第一個(gè)語(yǔ)句先執(zhí)行,后跟第二個(gè)語(yǔ)句,依此類(lèi)推。
編程語(yǔ)言提供了允許更復(fù)雜的執(zhí)行路徑的各種控制結(jié)構(gòu)。
循環(huán)語(yǔ)句允許我們多次執(zhí)行一個(gè)語(yǔ)句或一組語(yǔ)句,以下是大多數(shù)編程語(yǔ)言中循環(huán)語(yǔ)句的一般形式 -

Scala編程語(yǔ)言提供以下類(lèi)型的循環(huán)來(lái)處理循環(huán)需求。 單擊以下表中的鏈接來(lái)查看其詳細(xì)信息。
| 序號(hào) | 循環(huán)類(lèi)型 | 描述 |
|---|---|---|
| 1 | while循環(huán) | 在給定條件為真時(shí),重復(fù)執(zhí)行一個(gè)語(yǔ)句或一組語(yǔ)句。它在執(zhí)行循環(huán)體之前測(cè)試條件。 |
| 2 | do…while循環(huán) | 像while語(yǔ)句一樣,除了它循環(huán)體結(jié)尾測(cè)試條件。 |
| 3 | for循環(huán) | 多次執(zhí)行一系列語(yǔ)句,并縮寫(xiě)管理循環(huán)變量的代碼。 |
循環(huán)控制語(yǔ)句從其正常順序更改執(zhí)行。當(dāng)執(zhí)行離開(kāi)范圍時(shí),在該范圍內(nèi)創(chuàng)建的所有自動(dòng)對(duì)象都將被銷(xiāo)毀。Scala不支持像Java那樣的break或continue語(yǔ)句,但是從Scala 2.8版本開(kāi)始,加入了一種打斷循環(huán)的方法。點(diǎn)擊以下鏈接查看詳細(xì)信息。
| 序號(hào) | 循環(huán)類(lèi)型 | 描述 |
|---|---|---|
| 1 | break語(yǔ)句 | 終止循環(huán)語(yǔ)句并將執(zhí)行轉(zhuǎn)移到循環(huán)之后的語(yǔ)句。 |
如果一個(gè)條件永遠(yuǎn)不會(huì)變成false,循環(huán)將成為一個(gè)無(wú)限循環(huán)。 如果您使用Scala,while循環(huán)是實(shí)現(xiàn)無(wú)限循環(huán)的最佳方法。
以下程序?qū)崿F(xiàn)無(wú)限循環(huán) -
object Demo {
def main(args: Array[String]) {
var a = 10;
// An infinite loop.
while( true ){
println( "Value of a: " + a );
}
}
}
將上述程序保存在源文件:Demo.scala 中,使用以下命令編譯和執(zhí)行此程序。
$ scalac Demo.scala
$ scala Demo
Value of a: 10
Value of a: 10
Value of a: 10
Value of a: 10
…………….
如果您執(zhí)行上述代碼,它將進(jìn)入無(wú)限循環(huán),可以通過(guò)按Ctrl + C鍵終止。