kotlin学习笔记——kotlin中for,foreach的循环控制(continue,break)

ぃ、小莉子 提交于 2020-03-14 20:49:51

以下代码例举出了在kotlin中使用continue和break的各种用法

class Test {
    companion object {
        /** 我是main入口函数 **/
        @JvmStatic
        fun main(args: Array<String>) {
            val list = arrayListOf("1", "2", "3", "4", "5")
            val list2 = arrayListOf("A", "B", "C", "D", "E")

            println("==================kotlin中的continue用法==================")
            println("在for中")
            for (s in list) {
                if (s == "3") {
                    continue
                }
                println(s)
            }

            println("在forEach中")
            list.forEach { s ->
                if (s == "3") {
                    return@forEach
                }
                println(s)
            }

            println("在forEach中(自定义标签:continuing)")
            list.forEach continuing@{ s ->
                if (s == "3") {
                    return@continuing
                }
                println(s)
            }

            println("在forEachIndexed中")
            list.forEachIndexed { index, s ->
                if (s == "3") {
                    return@forEachIndexed
                }
                println(s)
            }

            println("==================kotlin中的break用==================")
            println("在for中")
            for (s in list) {
                if (s == "3") {
                    break
                }
                println(s)
            }

            println("在双层for中-跳出内层循环")
            for (s2 in list2) {
                for (s in list) {
                    if (s == "3") {
                        break
                    }
                    println(s)
                }
                println(s2)
            }
            
            println("在双层for中-跳出外层循环(自定义标签:breaking)")
            breaking@ for (s2 in list2) {
                for (s in list) {
                    if (s == "3") {
                        break@breaking
                    }
                    println(s)
                }
                println(s2)
            }

            println("在forEach中果(自定义标签:breaking)")
            run breaking@{
                list.forEach { s ->
                    if (s == "3") {
                        return@breaking
                    }
                    println(s)
                }
            }
            println("==================演示结束==================")
        }
    }
}

打印信息如下

==================kotlin中的continue用法==================
在for中
1
2
4
5
在forEach中
1
2
4
5
在forEach中(自定义标签:continuing)
1
2
4
5
在forEachIndexed中
1
2
4
5
==================kotlin中的break用==================
在for中
1
2
在双层for中-跳出内层循环
1
2
A
1
2
B
1
2
C
1
2
D
1
2
E
在双层for中-跳出外层循环(自定义标签:breaking)
1
2
在forEach中果(自定义标签:breaking)
1
2
==================演示结束==================
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!