我的kotlin学习记录Kotlin编程

kotlin尬*学 if/when 表达式。还用写20个if/e

2018-01-02  本文已影响15人  橘子周二

本篇纯代码,注释就是全部的笔记。

//if 表达式
    fun ifExpression() {
        print("if 表达式 :")
        //类java用法
        var random = Random()
        var i = random.nextInt(100)
        print("i = $i")
        if (i % 2 == 0) {
            print("i%2 == 0")
        } else if (i > 50) {
            print("i>50")
        } else {
            print("no match")
        }

        //使用返回值 和 类 java 三元表达式
        var n = if (i in 0..50 && i % 2 == 0) i else -1
        print("n = $n")

    }

    //when 表达式
    fun whenExpression() {
        print("when 表达式 :")
        var random = Random()
        var i = random.nextInt(100)
        //类似于 java 的 switch/case 但是 分支可以是具体对象 也可以是其他表达式,以及 is  in in!这类便捷操作符号
        var range = when (i) {
            in 1..50 -> "1>i,i<10"
            2, 3, 5 -> "i = 2 ,3 ,5"
            else -> "unknown"
        }
        print(range)

        //使用when 代替 复杂的if else 链
        print("使用when 代替 复杂的if else 链")
        var str = "whenExpression"
        var t = random.nextInt(30)
        var allin = true

    //使用when直接代替多重if/else,并且还能在单个分支返回不同类型的对象
        var result = when {
            str.contains("aa") -> "str"
            t % 2 == 0 -> t
            allin -> allin
            else -> "unknown"
        }
        print(result)

    }
    //关于while  /do while / for 优点仅在对in  downTo  until 的使用来达到区间循环的功能

```java
上一篇下一篇

猜你喜欢

热点阅读