Kotlin

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

2021-02-06  本文已影响0人  杨0612
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")
    }

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

上一篇下一篇

猜你喜欢

热点阅读