在本教程中,您将学习使用继续跳过循环的当前迭代。 另外,您还将在本文中了解有关继续标签的信息。
假设您正在使用循环。 有时希望跳过循环的当前迭代。
在这种情况下,将使用continue。continue构造跳过了当前的循环循环,并且程序控制跳到了循环主体的末尾。
continue如何工作?
它几乎总是与if...else一起使用。例如,
while (testExpression1) {// codes1if (testExpression2) {continue}// codes2}
如果将testExpression2求值为true,则将执行continue,在该迭代之后,它会跳过while循环内的所有代码。

示例:Kotlin continue
fun main(args: Array<String>) {for (i in 1..5) {println("$i Always printed.")if (i > 1 && i < 5) {continue}println("$i Not always printed.")}}
运行该程序时,输出为:
1 Always printed.1 Not always printed.2 Always printed.3 Always printed.4 Always printed.5 Always printed.5 Not always printed.
当i的值大于 1 且小于 5 时,将执行continue,从而跳过执行
println("$i Not always printed.")
声明。
但是,声明
println("$i Always printed.")
在此循环的每次迭代中都执行此语句,因为此语句位于continue构造之前。
示例:仅计算正数之和
下面的程序计算用户输入的最多 6 个正数的总和。 如果用户输入负数或零,则将其从计算中跳过。
访问 Kotlin 基本输入输出,以了解有关如何从用户那里获取输入的更多信息。
fun main(args: Array<String>) {var number: Intvar sum = 0for (i in 1..6) {print("Enter an integer: ")number = readLine()!!.toInt()if (number <= 0)continuesum += number}println("sum = $sum")}
运行该程序时,输出为:
Enter an integer: 4Enter an integer: 5Enter an integer: -50Enter an integer: 10Enter an integer: 0Enter an integer: 12sum = 31
Kotlin continue标签
到目前为止,您所学到的是continue的未标记形式,它跳过了最近的封闭循环的当前迭代。 通过使用continue标签,continue也可用于跳过所需循环(可以是外部循环)的迭代。
continue标签如何工作

Kotlin 中的标签以标识符开头,后跟@。
在此,outsideloop @是在外循环上标记的标签。 现在,通过在标签上使用continue(在这种情况下为continue@outerloop),可以跳过该迭代的特定循环代码的执行。
示例:带标签的continue
fun main(args: Array<String>) {here@ for (i in 1..5) {for (j in 1..4) {if (i == 3 || j == 2)continue@hereprintln("i = $i; j = $j")}}}
运行该程序时,输出为:
i = 1; j = 1i = 2; j = 1i = 4; j = 1i = 5; j = 1
通常不建议使用标记为continue的代码,因为这会使您的代码难以理解。 如果您必须使用标记为continue的情况,请重构代码并尝试以其他方式解决它,以使其更具可读性。
Kotlin 中有 3 个结构跳转表达式:break,continue和return。 要了解break和return表达,请访问:
- Kotlin
break - Kotlin 函数
