Kotlin入门-更灵活的条件控制

在这里插入图片描述

Kotlin更灵活的条件控制

除了文字版本,也有Xmind版本 github地址

本文一问:
① 没有分号,你要注意什么?《Kotlin入门-没有分号是个有趣的事情》

有以下几个方面

  • if…else
  • x…y
  • when

if…else

先看一个范例

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

直接赋值给变量➕var的定义,给人一种javascript的感觉。其实大体跟java是一样的

Java也可以这样做。只是,一般我们不这样写,不符合编码规范,不利于代码阅读。

val result = if (condition) resA else resB

其实,这种写法,java也是有的。


x…y

代表在x和y之间

if (x in 1..8) { //# x>= 1 && x <= 8
    println("x 在区间内")
}

表示要给范围从1到8之间。比java要简洁。


When 表达式

在Kotlin中,when更类似switch。可以组合各种条件判断进行使用。

使用else,来表示剩余情况,类似switch的default

fun testWhen(inputV : Int) {
	when (inputV) {
        1 -> println("x == 1")
        2 -> println("x == 2")
        11 -> println("x == 11")
        in 3..6 -> println("x in 3..6")
        !in (8..9) -> println("x not 8") 
        10 -> println("x == 10")
        else -> { // 注意这个块
            println("x 不是不是都不是")
        }
    }
}

fun main() {
    (testWhen(3))
    (testWhen(5))
    (testWhen(6))
    (testWhen(8))
    (testWhen(9))
    (testWhen(10))
    (testWhen(11))
}
输出
x in 3..6
x in 3..6
x in 3..6
x 不是不是都不是
x 不是不是都不是
x not 8
x == 11

注意
when在条件判断时,也是有先后顺序的。

前面被判断成功后,后面的语句就不会执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值