<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Kotlin `when`表達式 > 原文: [http://zetcode.com/kotlin/when/](http://zetcode.com/kotlin/when/) Kotlin `when`表達式教程展示了如何在 Kotlin 中使用`when`表達式。 `when`表達式替換了 C 語言族中已知的`switch`語句。 Kotlin 是在 Java 虛擬機上運行的靜態類型的編程語言。 Kotlin 在將其參數依次與所有分支匹配之前,直到滿足某個分支條件為止。 它既可以用作表達式也可以用作語句。 如果將其用作表達式,則滿足的分支的值將成為整個表達式的值。 ## Kotlin 的簡單例子 以下是一個簡單的示例,該示例使用帶有星期幾的`when`表達式。 `day_of_week.kt` ```kt package com.zetcode fun main() { val dayOfWeek = 3 when (dayOfWeek) { 1 -> println("monday") 2 -> println("tuesday") 3 -> println("wednesday") 4 -> println("thursday") 5 -> println("friday") 6 -> println("saturday") 7 -> println("sunday") else -> println("invalid day") } } ``` 在該示例中,我們基于整數值打印星期幾。 依次測試七個不同的分支。 如果滿足其中之一,則其余的將被跳過。 如果都不滿足,則執行`else`分支。 ## Kotlin `when`將值分組 可以使用逗號運算符在分支中將值分組。 `day_of_week2.kt` ```kt package com.zetcode fun main() { val dayOfWeek = 5 when (dayOfWeek){ 1,2,3,4,5 -> println("weekday") 6,7 -> println("weekend") else -> println("wrong value") } } ``` 在示例中,我們將值分組以形成兩個分支:工作日和周末。 ## Kotlin `when`表達式示例 Kotlin `when`可以用作表達式。 返回滿意分支的值。 `when_expression.kt` ```kt package com.zetcode import java.time.DayOfWeek import java.time.LocalDate fun main() { val dayOfWeek: DayOfWeek = LocalDate.now().dayOfWeek val msg:String = when (dayOfWeek) { DayOfWeek.MONDAY -> "It is monday" DayOfWeek.TUESDAY -> "It is tuesday" DayOfWeek.WEDNESDAY -> "It is tuesday" DayOfWeek.THURSDAY -> "It is tuesday" DayOfWeek.FRIDAY -> "It is tuesday" DayOfWeek.SATURDAY -> "It is tuesday" DayOfWeek.SUNDAY -> "It is tuesday" else -> "Invalid day of week" } println(msg) } ``` 我們確定當前工作日。 來自匹配分支的字符串被分配給`msg`變量,該變量隨后被打印到控制臺。 ## Kotlin `when`范圍 我們可以在`when`分支中測試值的范圍。 (這也可以通過集合來完成。) `age_groups.kt` ```kt package com.zetcode fun main() { val age = 40 when (age) { in 0..14 -> println("children") in 15..24 -> println("youth") in 25..64 -> println("adults") in 65..120 -> println("seniors") in 120..130 -> println("unlikely age") else -> println("wrong age value") } } ``` 我們有一個年齡變量。 我們使用 Kotlin 范圍將值分配給年齡組。 ## Kotlin `when`枚舉 Kotlin 表達式可與枚舉一起使用時。 `when_enums.kt` ```kt package com.zetcode enum class Season { SPRING, SUMMER, AUTUMN, WINTER } fun main() { val season = Season.SUMMER when (season) { Season.SPRING -> println("It is spring") Season.SUMMER -> println("It is summer") Season.AUTUMN -> println("It is autumn") Season.WINTER -> println("It is winter") } } ``` 我們有一個`Season`枚舉。 我們將枚舉作為`when`表達式的參數傳遞。 ## Kotlin `when`不帶參數 Kotlin `when`可以不帶參數使用表達式。 `random_val.kt` ```kt package com.zetcode import java.util.Random fun main() { val r:Int = Random().nextInt(10) - 5 when { r < 0 -> println("negative value") r == 0 -> println("zero") r > 0 -> println("positive value") } } ``` 在示例中,我們生成一個隨機值。 我們使用`when`表達式測試該值,而不將其作為參數放在圓括號中。 ## Kotlin `when`類型 我們可以使用`is`運算符檢查類型。 `when_types.kt` ```kt package com.zetcode import javax.lang.model.type.ArrayType fun main() { val variable: Any = 23 when (variable) { is Int -> println("It is an integer") is String -> println("It is a string") is ArrayType -> println("It is an array") } } ``` 在示例中,我們在`when`表達式中檢查變量的類型。 在本教程中,我們介紹了 Kotlin 中的`when`表達式。 您可能也對相關教程感興趣: [Kotlin 控制流教程](/kotlin/controlflow/), [Kotlin 范圍教程](/kotlin/ranges/)或列出[所有 Kotlin 教程](/all/#kotlin)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看