首頁 > 軟體

Kotlin程式設計條件控制範例詳解

2022-08-20 14:00:42

本文總覽

本篇來看看 Kotlin的條件控制,這一節知識點 建議與Java中的條件結構類比,會很好理解並記住。

1. When 表示式

在 Kotlin 用 when 來定義多個分支的條件表示式。Kotlin中這個語法與 java 中的 switch 語句非常類似。程式碼塊的執行就是將引數與所有的分⽀條件順序⽐較,直到滿⾜某個分⽀條件:(範例 )

when (x) { 
    1 -> print("x == 1") 
    2 -> print("x == 2") 
    else -> { 
        print("x is neither 1 nor 2") 
    } 
}

以上範例中,如果都不滿足確切值的分支,將會執行 else 分支。

when 如果作為⼀個表示式使⽤, 常規情況是必須有 else 分⽀的。 但也有以下特例:

// 一個列舉物件
enum class Bit { 
    ZERO, ONE 
} 

val numericValue = when (getRandomBit()) { 
    Bit.ZERO -> 0 
    Bit.ONE -> 1 
    // 'else' ... 
}

上面範例說明:編譯器能夠檢測出所有的可能情況都已經覆蓋,這種情況 是可以沒有 else 分支的。

when 語句的分⽀條件可以⽤任意表示式(⽽不只是常數)來表示:

when (x) { 
    s.toInt() -> print("s encodes x") 
    else -> print("s does not encode x") 
}

when 語句還可以用於檢測⼀個值在( in )或者不在( !in )⼀個區間或者集合中:

when (x) { 
    in 1..10 -> print("x is in the range") 
    in validNumbers -> print("x is valid")        // 在集合中 
    !in 10..20 -> print("x is outside the range") // 不在範圍內
    else -> print("none of the above") 
}

從以上這些特性可知,when 是可以⽤來取代 if - else條件表示式的。

2. If 表示式

在 Kotlin 中, if 是⼀個表示式:會返回⼀個值。這樣其實就不需要三元運演演算法:( 條件 ? 然後 : 否則 ),if 就可以擔任同樣的角色

val c = if (condition) a else b

使用 in 運運算元來檢測某個數位是否在指定區間內,區間格式為 x..y :

fun main() { 
    val x = 5 
    val y = 9 
    if (x in 1..8) { 
        println("x 在區間內") 
    } 
}

若將if用作表示式,例如,用於返回其值或將其分配給變數,則else分支是強制性的。

if 表示式的分⽀可以是程式碼塊:

val max = if (a > b) { 
    print("Choose a") 
    a 
} else {
    print("Choose b") 
    b 
}

在Kotlin中,常用的 if 表示式

  • if表示式
  • if..else表示式
  • if..else if..else表示式
  • 巢狀表示式

總結

本篇學習 kotlin 的 when表示式 和 if表示式,它與 Java 中 switch語句, if語句有這異曲同工之處。when 表示式和if 表示式常見使用方式,對以後的專案中邏輯處理有很大幫助

以上就是Kotlin程式設計條件控制範例詳解的詳細內容,更多關於Kotlin 條件控制的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com