kotlin——流程控制

when分支语句

when分支取代了Java原有的switch语句

    var score = 'B'
    when(score){
        'A' -> println("优秀")
        'B' -> println("良好")
        'C' -> println("中")
        'D' -> println("及格")
        else -> println("不及格")
    }

  • 不需要使用case关键字
  • case值后的冒号改为使用箭头(->)
  • default改为更有意义,更明确的wlse

除此之外,

  • when分支可以匹配多个值
  • when分支后的值不要求是常量,可以是任意表达式
  • when分支对条件的表达式的类型没有任何要求
    when(score){
        'A', 'B' ->{
            println("优秀,百尺竿头更进一步")
        }
        'C','D' ->{
            println("中")
        }
        else -> {
            println( "不及格")
        }
    }

when分支处理范围

    val age = Random(100).nextInt()
    var str = when (age){
        in 10 ..25 -> "当年少青衫"
        in 26.. 50 -> "1111111"
        in 51..80 -> "2222222222"
        else -> "其他"
    }
    println(str)

除了范围还可以使用is判断是否为某种类型而进入判断

你可能感兴趣的:(kotlin,开发语言,android)