Kotlin 的 if
語句和其他語言類似,可以用來執行條件判斷。if
可以用作表達式,因此可以直接賦值。
val a = 10
val b = 5
// 基本用法
if (a > b) {
println("a is greater than b")
} else if (a < b) {
println("a is less than b")
} else {
println("a is equal to b")
}
// 作為表達式
val max = if (a > b) a else b
println("The maximum value is $max")
Kotlin 沒有傳統的三元運算子 ? :
,但可以使用 if
表達式來實現相同的功能。
val a = 10
val b = 5
val result = if (a > b) "a is greater" else "b is greater"
println(result)
Kotlin 使用 when
語句來替代 switch
語句。它功能更強大,支持多種條件。
val x = 2
when (x) {
1 -> println("x is 1")
2 -> println("x is 2")
3, 4 -> println("x is 3 or 4")
in 5..10 -> println("x is between 5 and 10")
else -> println("x is out of range")
}
// 作為表達式
val result = when (x) {
1 -> "One"
2 -> "Two"
else -> "Other"
}
println(result)
for
迴圈用於迭代集合或範圍。
// 迭代範圍
for (i in 1..5) {
println(i)
}
// 迭代集合
val items = listOf("apple", "banana", "cherry")
for (item in items) {
println(item)
}
// 迭代帶索引的集合
for ((index, item) in items.withIndex()) {
println("Item at $index is $item")
}
while
迴圈在條件為真時執行。
var i = 0
while (i < 5) {
println(i)
i++
}
// do-while 迴圈至少執行一次
do {
println(i)
i--
} while (i > 0)
可以在一個迴圈內嵌套另一個迴圈。
for (i in 1..3) {
for (j in 1..3) {
println("i = $i, j = $j")
}
}
break
用於跳出最近的迴圈。
for (i in 1..5) {
if (i == 3) break
println(i)
}
continue
用於跳過當前迭代並進入下一次迭代。
for (i in 1..5) {
if (i == 3) continue
println(i)
}
return
用於從函數中返回。
fun example() {
for (i in 1..5) {
if (i == 3) return
println(i)
}
println("This line will not be executed")
}
example()
標籤用於標識一個迴圈或代碼塊,可以與 break
和 continue
一起使用來控制外部迴圈。
loop@ for (i in 1..5) {
for (j in 1..5) {
if (i == 3 && j == 3) break@loop
println("i = $i, j = $j")
}
}
loop@ for (i in 1..5) {
for (j in 1..5) {
if (i == 3 && j == 3) continue@loop
println("i = $i, j = $j")
}
}