分支
以下是 Kotlin 分支(Branch): if
和 when
的基本用法。
1. if
條件判斷
在 Kotlin 中,if
是一種表達式,可以用來執行條件判斷並返回結果。
基本語法
if (條件) {
// 當條件為真時執行
} else {
// 當條件為假時執行
}
範例 1:基本 if-else
fun main() {
val a = 10
val b = 20
if (a > b) {
println("a 比 b 大")
} else {
println("b 比 a 大或相等")
}
}
範例 2:if
作為表達式
Kotlin 中,if
可以返回值,因此常用於賦值操作。
fun main() {
val a = 10
val b = 20
// 將較大的數賦值給 max
val max = if (a > b) a else b
println("最大值是 $max")
}
範例 3:多條件 if
可以用 else if
來檢查多個條件。
fun main() {
val score = 85
val grade = if (score >= 90) {
"A"
} else if (score >= 80) {
"B"
} else if (score >= 70) {
"C"
} else {
"F"
}
println("成績等級為 $grade")
}
2. when
條件判斷
在 Kotlin 中,when
是功能強大的條件判斷語句,它可以替代 Java 中的 switch
,並具有更靈活的語法。
基本語法
when (變數) {
值1 -> // 當變數等於值1時執行
值2 -> // 當變數等於值2時執行
else -> // 預設情況
}
範例 1:基本用法
fun main() {
val x = 3
when (x) {
1 -> println("x 是 1")
2 -> println("x 是 2")
3 -> println("x 是 3")
else -> println("x 是其他值")
}
}
範例 2:when
作為表達式
像 if
一樣,when
也可以返回值。
fun main() {
val x = 2
val result = when (x) {
1 -> "One"
2 -> "Two"
3 -> "Three"
else -> "Unknown"
}
println("結果是 $result")
}
範例 3:檢查多個值
可以在同一分支中檢查多個值。
fun main() {
val day = "Saturday"
when (day) {
"Saturday", "Sunday" -> println("這是週末")
"Monday" -> println("這是工作日的開始")
else -> println("這是一個工作日")
}
}
範例 4:範圍檢查
使用 in
檢查變數是否在某個範圍內。
fun main() {
val number = 15
when (number) {
in 1..10 -> println("數字在 1 到 10 之間")
in 11..20 -> println("數字在 11 到 20 之間")
else -> println("數字超出範圍")
}
}
範例 5:檢查類型(使用 is
)
when
可以用來檢查變數的類型,並在條件成立時自動進行智慧型轉換(Smart Cast)。
fun main() {
val obj: Any = "Kotlin"
when (obj) {
is Int -> println("這是一個整數:$obj")
is String -> println("這是一個字串,長度為 ${obj.length}")
else -> println("未知類型")
}
}
範例 6:無參數 when
when
不一定需要變數,條件可以是任意表達式。
fun main() {
val x = 5
when {
x < 0 -> println("x 是負數")
x == 0 -> println("x 是零")
x > 0 -> println("x 是正數")
}
}