循環(huán)在編程中用于重復特定的代碼塊。在本文中,您將學習在Kotlin編程中創(chuàng)建 while 和 do ... while 循環(huán)。
循環(huán)在編程中用于重復特定的代碼塊,直到滿足特定條件(測試表達式為false)。
循環(huán)使計算機成為有趣的機器。想象一下,您需要在屏幕上打印一個句子50次。好吧,您可以通過使用print語句50次(不使用循環(huán))來做到這一點。您需要打印一百萬次句子怎么樣?您需要使用循環(huán)。
您將了解兩個循環(huán)while和do..while這篇文章的實例幫助中
如果您熟悉Java中的while和do ... while循環(huán),那么您也已經熟悉Kotlin中的這些循環(huán)。
while 循環(huán)的語法為:
while (testExpression) { // while循環(huán)體內的代碼 }
括號內的測試表達式是布爾表達式。
如果測試表達式的計算結果為true,
while 循環(huán)內的語句將被執(zhí)行。
然后,再次對測試表達式求值。
這個過程一直進行到測試表達式被評估為 false 為止。
如果測試表達式的計算結果為false,
while循環(huán)終止。
//程序打印5次 fun main(args: Array<String>) { var i = 1 while (i <= 5) { println("Line $i") ++i } }
運行該程序時,輸出為:
Line 1 Line 2 Line 3 Line 4 Line 5
注意,while 循環(huán)內的 ++i 語句 。在5次迭代之后,變量i將增加到6。然后,將測試表達式 i <= 5 求值為false,并終止循環(huán)。
如果循環(huán)的主體只有一個語句,則不必使用花括號{ }。
//程序計算1到100的自然數之和。 fun main(args: Array<String>) { var sum = 0 var i = 100 while (i != 0) { sum += i // sum = sum + i; --i } println("sum = $sum") }
運行該程序時,輸出為:
sum = 5050
在這里,變量 sum 被初始化為 0 ,同時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)終止)
要了解有關測試表達式及其評估方式的更多信息,請訪問比較和邏輯運算符。
do...while循環(huán)類似于while一個關鍵區(qū)別在于循環(huán)。do...while循環(huán)主體在檢查測試表達式之前執(zhí)行一次。
其語法為:
do { //do while循環(huán)體內的代碼 } while (testExpression);
do主體內的代碼執(zhí)行一次(不檢查testExpression)。 然后,檢查測試表達式。
如果將 測試表達式 評估為true,則執(zhí)行循環(huán)體內的代碼,然后再次評估測試表達式。這個過程一直進行到測試表達式被評估為false為止。
當測試表達式評估為時false,do..while循環(huán)終止。
下面的程序計算用戶輸入的數字總和,直到用戶輸入0。
為了接受用戶的輸入,使用readline()函數。推薦閱讀: Kotlin輸入
fun main(args: Array<String>) { var sum: Int = 0 var input: String do { print("輸入一個整數: ") input = readLine()!! sum += input.toInt() } while (input != "0") println("sum = $sum") }
當您運行程序時,輸出將如下所示:
輸入一個整數: 4 輸入一個整數: 3 輸入一個整數: 2 輸入一個整數: -6 輸入一個整數: 0 sum = 3