首页 > 其他 > 详细

从零开始学Kotlin-控制语句(4)

时间:2018-01-15 23:52:01      阅读:298      评论:0      收藏:0      [点我收藏+]

从零开始学Kotlin基础篇系列文章

条件控制-if

        var a=10
        var b=20
        if(a>b) print(a)
        if(a>b){
            print(a)
        }else{
            print(b)
        }
        val max = if( a > b) a else b
        if ( a in 1..10){
            print("a在1到10区间内")
        }

条件控制-when

        val x = 3
        when (x) {
            1 -> print("x 是1")
            2 -> print("x 是2")
            else -> print("x 不是1也不是2")
        }
        when (x) {
            1, 2 -> print("x 是1或者2")
            else -> print("x 不是1也不是2")
        }
        when (x) {
            in 1..5 -> print("x 在1-5中")
            !in 5..10 -> print("x不在5-10中")
            else -> print("x 不是1也不是2")
        }

循环控制-for

        val ints = arrayOf(1, 2, 3, 4, 5)
        for (num: Int in ints) {//循环遍历数值
            print((num))
        }
        for (index in ints.indices) {//循环遍历索引和值
            print("$index 位置的数是 ${ints[index]}")
        }

循环控制-while/do...while

        var a = 10
        while (a < 10) {
            print("a < 10")
            a++
        }
        do {
            print("先输出一下再去判断")
            a++
        } while (a < 10)

跳转表达式 return、break、continue

  • 常规用法

    for (i in 1..10) {
        if (i == 3) continue//i==3时跳出该循环执行下一轮循环
            print(i)
        if (i > 5) break//i>5时跳出循环或者说终止循环
        if (i == 8) return //i==8时终止循环以及终止以下步骤
     }
  • 在 Kotlin 中任何表达式都可以用标签(label)来标记。 标签的格式为标识符后跟 @ 符号,例如:name@、number@等

    number@ for (i in 1..10){
    }
  • 标签结合break和continue使用

        loop1@ for (i in 1..100) {
            loop2@ for (j in 1..100) {
                if (i == j) break@loop1
                if (i % j == 0) continue@loop1
            }
        }
  • 标签结合return使用

    fun test5() {
        var ints = arrayOf(0, 1, 2, 3, 4, 5)
        /**
         * 这种return其实是直接return了test5()这个方法
         */
        ints.forEach {
            if (it == 0) return
            print(it)
        }
        /**
         * 如果想只return到当前循环,则需要结合标签使用
         */
        ints.forEach currentLoop@ {
            if (it == 0) return@currentLoop
            print(it)
        }
    }

    从零开始学Kotlin基础篇系列文章

从零开始学Kotlin-控制语句(4)

原文:https://www.cnblogs.com/shen-hua/p/8290381.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!