美文网首页我的kotlin学习记录Kotlin编程
kotlin尬*学 if/when 表达式。还用写20个if/e

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

作者: 橘子周二 | 来源:发表于2018-01-02 17:41 被阅读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

    相关文章

      网友评论

        本文标题:kotlin尬*学 if/when 表达式。还用写20个if/e

        本文链接:https://www.haomeiwen.com/subject/mcjqnxtx.html