分支#

以下是 Kotlin 分支(Branch): ifwhen 的基本用法。


1. if 條件判斷#

在 Kotlin 中,if 是一種表達式,可以用來執行條件判斷並返回結果。

基本語法#

1
2
3
4
5
if (條件) {
    // 當條件為真時執行
} else {
    // 當條件為假時執行
}

範例 1:基本 if-else#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
fun main() {
    val a = 10
    val b = 20

    if (a > b) {
        println("a 比 b 大")
    } else {
        println("b 比 a 大或相等")
    }
}

範例 2:if 作為表達式#

Kotlin 中,if 可以返回值,因此常用於賦值操作。

1
2
3
4
5
6
7
8
fun main() {
    val a = 10
    val b = 20

    // 將較大的數賦值給 max
    val max = if (a > b) a else b
    println("最大值是 $max")
}

範例 3:多條件 if#

可以用 else if 來檢查多個條件。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
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 是功能強大的條件判斷語句,語法靈活,可以應對各種條件判斷的情境。

基本語法#

1
2
3
4
5
when (變數) {
    值1 -> // 當變數等於值1時執行
    值2 -> // 當變數等於值2時執行
    else -> // 預設情況
}

範例 1:基本用法#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
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 也可以返回值。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
fun main() {
    val x = 2

    val result = when (x) {
        1 -> "One"
        2 -> "Two"
        3 -> "Three"
        else -> "Unknown"
    }

    println("結果是 $result")
}

範例 3:檢查多個值#

可以在同一分支中檢查多個值。

1
2
3
4
5
6
7
8
9
fun main() {
    val day = "Saturday"

    when (day) {
        "Saturday", "Sunday" -> println("這是週末")
        "Monday" -> println("這是工作日的開始")
        else -> println("這是一個工作日")
    }
}

範例 4:範圍檢查#

使用 in 檢查變數是否在某個範圍內。

1
2
3
4
5
6
7
8
9
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)。

1
2
3
4
5
6
7
8
9
fun main() {
    val obj: Any = "Kotlin"

    when (obj) {
        is Int -> println("這是一個整數:$obj")
        is String -> println("這是一個字串,長度為 ${obj.length}")
        else -> println("未知型別")
    }
}

範例 6:無參數 when#

when 不一定需要變數,條件可以是任意表達式。

1
2
3
4
5
6
7
8
9
fun main() {
    val x = 5

    when {
        x < 0 -> println("x 是負數")
        x == 0 -> println("x 是零")
        x > 0 -> println("x 是正數")
    }
}

Reference#

https://kotlinlang.org/docs/control-flow.html

© 2026 CodeReindeer. All rights reserved.