📜  Kotlin 标记中断(1)

📅  最后修改于: 2023-12-03 14:43:42.083000             🧑  作者: Mango

Kotlin 标记中断

在 Kotlin 中,我们可以使用关键字 breakcontinue 来控制循环的执行流程。除此之外,我们还可以使用标记来控制外层循环。

一、标记语法

在 Kotlin 中,我们通过在标识符前添加标记符号 @ 来定义一个标记。例如:

outer@ for (i in 1..5) {
    inner@ for (j in 1..5) {
        if (i == 3 && j == 3) {
            break@outer
        }
        println("$i, $j")
    }
}

这里我们定义了两个标记:outerinner。在上面的例子中,当 ij 的值都为 3 时,我们使用 break@outer 来标记中断外部的循环。

二、标记中断

使用标记来中断外层循环的语法如下:

break@标记符号

例如:

fun main() {
    outer@ for (i in 1..5) {
        inner@ for (j in 1..5) {
            if (i == 3 && j == 3) {
                break@outer
            }
            println("$i, $j")
        }
    }
    println("outer loop end")
}

ij 的值都为 3 时,整个循环会被中断,程序会输出:

1, 1
1, 2
1, 3
1, 4
1, 5
2, 1
2, 2
2, 3
2, 4
2, 5
3, 1
3, 2
3, 3
outer loop end
三、标记继续

同样,我们也可以使用标记来中断内层循环并继续外层循环。使用标记继续的语法如下:

continue@标记符号

例如:

fun main() {
    outer@ for (i in 1..5) {
        inner@ for (j in 1..5) {
            if (i == 3 && j == 3) {
                continue@outer
            }
            println("$i, $j")
        }
    }
}

ij 的值都为 3 时,内层循环会被中断并继续外层循环,程序会输出:

1, 1
1, 2
1, 4
1, 5
2, 1
2, 2
2, 4
2, 5
3, 1
3, 2
3, 4
3, 5
4, 1
4, 2
4, 3
4, 4
4, 5
5, 1
5, 2
5, 3
5, 4
5, 5
四、总结

在 Kotlin 中,我们使用标记来控制外层循环,从而使我们的代码更加简洁和易于理解。但是,在使用标记时,我们需要注意标记的作用范围,并尽可能避免使用标记嵌套的情况。