美文网首页Kotlin
Kotlin基础-for循环return、break、conti

Kotlin基础-for循环return、break、conti

作者: 杨0612 | 来源:发表于2021-02-06 13:08 被阅读0次
    1.与Java的相同点

    以下Kotlin代码跟Java,使用return、break、continue关键字效果一致。
    index==3 return,结束该次循环,跳出循环体,forTest方法返回,不会打印“outside”;
    index==3 break,结束该次循环,跳出循环体,会打印“outside”;
    index==3 continue,结束该次循环,执行下一次循环,最后会打印“outside”;
    for(xxx in xxx){},这种方式使用return、break、continue跟Java一致;

        fun forTest() {
            val list = mutableListOf(1, 2, 3, 4, 5)
            for (index in 0 until list.size) {
    //         if (index == 3) return//相当于Java的return
                if (index == 3) break//相当于Java的break
               if (index == 3) continue//相当于Java的continue
                println("forTest it=${list[index]}")
            }
            println("forTest outside")
        }
    
    2.与Java的不同点

    2.1 自定义标签
    looper@是自定义标签,用于标记某个位置,格式:xxx@;
    break@looper,相当于Java的break;
    continue@looper,相当于Java的continue;
    return@looper,这是不合法的;

        fun forTest() {
            val list = mutableListOf(1, 2, 3, 4, 5)
            looper@ for (index in 0 until list.size) {
                if (index == 3) break@looper//相当于Java的break
    //            if (index == 3) continue@looper//相当于Java的continue
    //            if (index == 3) return@looper//这是不合法的
                println("forTest1 it=${list[index]}")
            }
            println("forTest1 outside")
        }
    

    2.2 forEach遍历
    forEach,用迭代器遍历集合;
    return@forEach,相当于Java的 continue;
    return,相当于Java 的return;
    continue,在这里是不合法的;

        fun forTest() {
            val list = mutableListOf(1, 2, 3, 4, 5)
            list.forEach {
                if (it == 4) {
    //                return@forEach//相当于Java的 continue
                    return //相当于Java 的return
                }
                println("it=${it}")
            }
            println("outside")
        }
    

    以上分析有不对的地方,请指出,互相学习,谢谢哦!

    相关文章

      网友评论

        本文标题:Kotlin基础-for循环return、break、conti

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