Kotlin if 條件判斷:從語句變表達式
在 Kotlin 中,if 不僅僅是控制流程的語句 (Statement),它更是一個 表達式 (Expression)。
意思是:它會有回傳值。
基本用法
跟 Java 一樣:
var max = a
if (a < b) max = b
// 或者帶大括號
if (a > b) {
max = a
} else {
max = b
}
max = b
}
// 區間判斷
if (x in 1..10) {
println("x is in range 1 to 10")
}
if 作為表達式 (Expression)
這才是 Kotlin 的精髓!你可以把 if 的結果直接指派給變數。
這取代了 Java 中三元運算子 Condition ? A : B 的功能(Kotlin 沒有三元運算子)。
// 傳統 Java 三元運算子 (Kotlin 不支援)
// int max = (a > b) ? a : b;
// Kotlin 寫法
val max = if (a > b) a else b
多行區塊的回傳值
如果是多行區塊,最後一行 就是回傳值。
val max = if (a > b) {
println("Choose a")
a // 回傳 a
} else {
println("Choose b")
b // 回傳 b
}
巢狀 if
跟其他語言一樣,可以無限巢狀,但建議改用 when 會更易讀。