Kotlin 迴圈控制 (For, While)
Kotlin 的迴圈語法非常直覺,尤其是 for 迴圈,它主要用來歷遍 (Iterate) 任何提供了 Iterator 的物件(如 Range, Array, Collection)。
For 迴圈
Kotlin 沒有傳統 C 語言風格的 for (i=0; i<10; i++)。取而代之的是 for-in。
遍歷範圍 (Range)
// 1 到 5 (包含 5)
for (i in 1..5) {
println(i) // 1, 2, 3, 4, 5
}
// 1 到 4 (不包含 5)
for (i in 1 until 5) {
println(i) // 1, 2, 3, 4
}
倒數與間隔
// 倒數:6, 4, 2, 0
for (i in 6 downTo 0 step 2) {
println(i)
}
遍歷陣列/集合
val fruits = listOf("Apple", "Banana", "Cherry")
for (item in fruits) {
println(item)
}
// 同時要 Index 和 Value
for ((index, value) in fruits.withIndex()) {
println("Item at $index is $value")
}
While 與 Do-While
這部分跟 Java 與 C 語言完全一樣。
var x = 5
while (x > 0) {
println(x)
x--
}
// do-while 保證至少執行一次
do {
val y = retrieveData()
} while (y != null)
跳出迴圈 (break 與 continue)
Kotlin 支援標準的 break (跳出整個迴圈) 和 continue (跳過本次)。
標籤 (Labels)
在巢狀迴圈中,有時候我們想直接跳出 外層 迴圈。
Kotlin 允許你定義標籤 (label@)。
outer@ for (i in 1..100) {
for (j in 1..100) {
if (i * j > 1000) break@outer // 直接結束最外層迴圈
}
}