Kotlin - when语句

Kotlin - when语句 首页 / Kotlin入门教程 / Kotlin - when语句

Kotlin,when表达式是返回值的条件表达式时。 Kotlin,when表达式替换switch语句。 

让无涯教程看一下when表达式的一个简单的例子。

fun main(args: Array<String>){
    var number = 4
    var numberProvided = when(number) {
        1 -> "One"
        2 -> "Two"
        3 -> "Three"
        4 -> "Four"
        5 -> "Five"
        else -> "invalid number"
    }
    println("You provide $numberProvided")
}

输出:

You provide Four

when作为表达式时,不强制使用,它可以像以其他语言一样使用。

例如

fun main(args: Array<String>){

    var number = 4
    when(number) {
        1 -> println("One")
        2 -> println("Two")
        3 -> println("Three")
        4 -> println("Four")
        5 -> println("Five")
        else -> println("invalid number")
    }

}

输出:

Four

无涯教程可以使用条件块中包含的多个语句。

例如

fun main(args: Array<String>){
    var number = 1
    when(number) {
        1 -> {
            println("Monday")
            println("First day of the week")
        }
        7 -> println("Sunday")
        else -> println("Other days")
    }
}

输出:

Monday
First day of the week

无涯教程可以使用用逗号分隔的多个条件分支。当无涯教程需要运行多种选择时需要运行相同的逻辑时使用它。

链接:https://www.learnfk.comhttps://www.learnfk.com/kotlin/kotlin-when-expression.html

来源:LearnFk无涯教程网

fun main(args: Array<String>){
    var number = 8
    when(number) {
        3, 4, 5, 6 ->
            println("It is summer season")
        7, 8, 9 ->
            println("It is rainy season")
        10, 11 ->
            println("It is autumn season")
        12, 1, 2 ->
            println("It is winter season")
        else -> println("invalid input")
    }
}

输出:

It is rainy season

当表达式也检查条件时提供的输入范围。使用范围使用..(双点)运算符。在运算符中用于检查值是否属于范围。

例如:

fun main(args: Array<String>){
    var number = 7
    when(number) {
        in 1..5 -> println("Input is provided in the range 1 to 5")
        in 6..10 -> println("Input is provided in the range 6 to 10")
        else -> println("none of the above")
    }
}

输出:

Input is provided in the range 6 to 10

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

算法面试通关40讲 -〔覃超〕

消息队列高手课 -〔李玥〕

编译原理实战课 -〔宫文学〕

分布式系统案例课 -〔杨波〕

操作系统实战45讲 -〔彭东〕

玩转Vue 3全家桶 -〔大圣〕

Web 3.0入局攻略 -〔郭大治〕

高并发系统实战课 -〔徐长龙〕

程序员职业规划手册 -〔雪梅〕

好记忆不如烂笔头。留下您的足迹吧 :)