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

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")
    }

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容