跳到主要内容

Kotlin break 表达式

提示
  1. break 表达式基础:Kotlin 中的 break 表达式用于立即终止最近的封闭循环,常与 if..else 结构一起使用,当条件为 true 时执行 break,终止循环。
  2. 示例应用:在实际应用中,break 可用于在循环中提前退出,如在用户输入特定值(如 0)时终止程序,或在计数达到特定值时停止循环。
  3. 带标签的 break:Kotlin 支持带标签的 break,可以指定终止特定的外部循环。标签以标识符后跟 @ 表示,如 break@label,用于在嵌套循环中终止指定的循环。

假设你在使用循环。有时希望立即终止循环,而不检查测试表达式。

在这种情况下,会使用 break。它在遇到时终止最近的封闭循环(不检查测试表达式)。这与 Java 中的 break 语句工作方式类似。

break 如何工作?

它几乎总是与 if..else 结构一起使用。例如,

for (...) {
if (testExpression) {
break
}
}

如果 testExpression 计算为 true,则执行 break,这将终止 for 循环。

Kotlin break

示例:Kotlin break

fun main(args: Array<String>) {

for (i in 1..10) {
if (i == 5) {
break
}
println(i)
}
}

当你运行程序时,输出将是:

1
2
3
4

i 的值等于 5 时,if 内的表达式 i == 5 被评估为 true,并执行 break。这终止了 for 循环

示例:计算用户输入 0 之前的总和

下面的程序计算用户输入的数字总和,直到用户输入 0。

访问 Kotlin 基本输入输出 以了解如何从用户那里获取输入。

fun main(args: Array<String>) {

var sum = 0
var number: Int

while (true) {
print("输入一个数字: ")
number = readLine()!!.toInt()

if (number == 0)
break

sum += number
}

print("总和 = $sum")
}

当你运行程序时,输出将是:

输入一个数字: 4
输入一个数字: 12
输入一个数字: 6
输入一个数字: -9
输入一个数字: 0
总和 = 13

在上述程序中,while 循环的测试表达式始终为 true

这里,while 循环运行直到用户输入 0。当用户输入 0 时,执行 break,这终止了 while 循环。

Kotlin 带标签的 break

到目前为止,你学到的是未标记形式的 break,它终止最近的封闭循环。还有另一种方式(带标签的形式)使用 break 来终止期望的循环(可以是外部循环)。

带标签的 break 如何工作?

Kotlin 带标签的 break Kotlin 中的标签以标识符开头,后跟 @

这里,test@ 是标记在外部 while 循环 的标签。现在,通过使用带标签的 break(这种情况下是 break@test),你可以终止特定的循环。

这是一个示例:

fun main(args: Array<String>) {

first@ for (i in 1..4) {

second@ for (j in 1..2) {
println("i = $i; j = $j")

if (i == 2)
break@first
}
}
}

当你运行程序时,输出将是:

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1

这里,当 i == 2 表达式计算为 true 时,执行 break@first,它终止了标记为 first@ 的循环。

以下是上述程序的一个小变种。

在下面的程序中,break 终止了标记为 @second 的循环。

fun main(args: Array<String>) {

first@ for (i in 1..4) {

second@ for (j in 1..2) {
println("i = $i; j = $j")

if (i == 2)
break@second
}
}
}

当你运行程序时,输出将是:

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1
i = 3; j = 1
i = 3; j = 2
i = 4; j = 1
i = 4; j = 2

注意: 由于在这个程序中,break 用于终止最内层的循环,因此在这种情况下不必使用带标签的 break。

Kotlin 有 3 种结构跳转表达式:breakcontinuereturn。要了解关于 continuereturn 表达式的信息,请访问:

  • Kotlin continue
  • Kotlin function