循環(huán)在編程中用于重復(fù)特定的代碼塊。在本文中,您將學(xué)習(xí)在Kotlin編程中創(chuàng)建 while 和 do ... while 循環(huán)。
循環(huán)在編程中用于重復(fù)特定的代碼塊,直到滿足特定條件(測試表達(dá)式為false)。
循環(huán)使計(jì)算機(jī)成為有趣的機(jī)器。想象一下,您需要在屏幕上打印一個(gè)句子50次。好吧,您可以通過使用print語句50次(不使用循環(huán))來做到這一點(diǎn)。您需要打印一百萬次句子怎么樣?您需要使用循環(huán)。
您將了解兩個(gè)循環(huán)while和do..while這篇文章的實(shí)例幫助中
如果您熟悉Java中的while和do ... while循環(huán),那么您也已經(jīng)熟悉Kotlin中的這些循環(huán)。
while 循環(huán)的語法為:
while (testExpression) {
// while循環(huán)體內(nèi)的代碼
}括號(hào)內(nèi)的測試表達(dá)式是布爾表達(dá)式。
如果測試表達(dá)式的計(jì)算結(jié)果為true,
while 循環(huán)內(nèi)的語句將被執(zhí)行。
然后,再次對(duì)測試表達(dá)式求值。
這個(gè)過程一直進(jìn)行到測試表達(dá)式被評(píng)估為 false 為止。
如果測試表達(dá)式的計(jì)算結(jié)果為false,
while循環(huán)終止。

//程序打印5次
fun main(args: Array<String>) {
var i = 1
while (i <= 5) {
println("Line $i")
++i
}
}運(yùn)行該程序時(shí),輸出為:
Line 1 Line 2 Line 3 Line 4 Line 5
注意,while 循環(huán)內(nèi)的 ++i 語句 。在5次迭代之后,變量i將增加到6。然后,將測試表達(dá)式 i <= 5 求值為false,并終止循環(huán)。
如果循環(huán)的主體只有一個(gè)語句,則不必使用花括號(hào){ }。
//程序計(jì)算1到100的自然數(shù)之和。
fun main(args: Array<String>) {
var sum = 0
var i = 100
while (i != 0) {
sum += i // sum = sum + i;
--i
}
println("sum = $sum")
}運(yùn)行該程序時(shí),輸出為:
sum = 5050
在這里,變量 sum 被初始化為 0 ,同時(shí)i初始化為 100。在while循環(huán)的每次迭代中,sum變量都被分配 sum + i,并且i的值減小1直到i等于0。
第1次迭代: sum = 0+100 = 100, i = 99 第2次迭代: sum = 100+99 = 199, i = 98 第3次迭代: sum = 199+98 = 297, i = 97 ... .. ... ... .. ... 第99次迭代: sum = 5047+2 = 5049, i = 1 第100次迭代: sum = 5049+1 = 5050, i = 0 (循環(huán)終止)
要了解有關(guān)測試表達(dá)式及其評(píng)估方式的更多信息,請?jiān)L問比較和邏輯運(yùn)算符。
do...while循環(huán)類似于while一個(gè)關(guān)鍵區(qū)別在于循環(huán)。do...while循環(huán)主體在檢查測試表達(dá)式之前執(zhí)行一次。
其語法為:
do {
//do while循環(huán)體內(nèi)的代碼
} while (testExpression);do主體內(nèi)的代碼執(zhí)行一次(不檢查testExpression)。 然后,檢查測試表達(dá)式。
如果將 測試表達(dá)式 評(píng)估為true,則執(zhí)行循環(huán)體內(nèi)的代碼,然后再次評(píng)估測試表達(dá)式。這個(gè)過程一直進(jìn)行到測試表達(dá)式被評(píng)估為false為止。
當(dāng)測試表達(dá)式評(píng)估為時(shí)false,do..while循環(huán)終止。

下面的程序計(jì)算用戶輸入的數(shù)字總和,直到用戶輸入0。
為了接受用戶的輸入,使用readline()函數(shù)。推薦閱讀: Kotlin輸入
fun main(args: Array<String>) {
var sum: Int = 0
var input: String
do {
print("輸入一個(gè)整數(shù): ")
input = readLine()!!
sum += input.toInt()
} while (input != "0")
println("sum = $sum")
}當(dāng)您運(yùn)行程序時(shí),輸出將如下所示:
輸入一個(gè)整數(shù): 4 輸入一個(gè)整數(shù): 3 輸入一個(gè)整數(shù): 2 輸入一個(gè)整數(shù): -6 輸入一個(gè)整數(shù): 0 sum = 3