Kotlin continue 关键字
最后修改于 2025 年 4 月 19 日
Kotlin 的 continue
关键字提供对循环执行的控制。它跳过当前迭代并移动到下一个迭代。本教程通过实际示例深入探讨了 continue
关键字。
基本定义
Kotlin 中的 continue
关键字用于跳过循环的当前迭代。当遇到时,它会立即跳到下一个迭代。它适用于 for
、while
和 do-while
循环。
for 循环中的基本 continue
continue
的最简单用法是跳过循环中的特定迭代。在这里,我们跳过从 1 到 10 的范围内的偶数。
package com.zetcode fun main() { for (i in 1..10) { if (i % 2 == 0) { continue } println(i) } }
此代码仅打印 1 到 10 之间的奇数。当 i
为偶数时,continue
语句会跳过迭代的其余部分。输出将是 1, 3, 5, 7, 9。
while 循环中的 continue
continue
关键字在 while
循环中的工作方式类似。在这里,当满足某个条件时,我们跳过迭代。
package com.zetcode fun main() { var i = 0 while (i < 10) { i++ if (i in 3..5) { continue } println(i) } }
这个 while 循环跳过数字 3、4 和 5。continue
语句跳回到循环条件检查。输出将是 1, 2, 6, 7, 8, 9, 10。
嵌套循环中的 continue
在嵌套循环中,continue
仅影响包含它的最内层循环。在这里,我们在嵌套结构中演示其行为。
package com.zetcode fun main() { for (i in 1..3) { for (j in 1..3) { if (j == 2) { continue } println("i: $i, j: $j") } } }
内层循环在 j
等于 2 时跳过迭代。外层循环正常继续。输出显示了 j
从未等于 2 的对。
带标签的 continue
Kotlin 允许标记循环以控制 continue
影响哪个循环。标签使能够从内层循环跳过外层循环中的迭代。
package com.zetcode fun main() { outer@ for (i in 1..3) { for (j in 1..3) { if (i == 2 && j == 2) { continue@outer } println("i: $i, j: $j") } } }
当 i
和 j
都等于 2 时,带标签的 continue 会跳过外层循环的当前迭代。这演示了对嵌套循环行为的精确控制。
do-while 循环中的 continue
do-while
循环也支持 continue
。它跳过当前迭代,但之后仍然检查条件。
package com.zetcode fun main() { var i = 0 do { i++ if (i == 4) { continue } println(i) } while (i < 6) }
此循环打印数字 1 到 6,跳过 4。continue
语句跳转到条件检查,同时保持循环的执行。
when 表达式中的 continue
continue
语句可以在循环内的 when
表达式中使用。这提供了一种干净的方式来处理多个跳过条件。
package com.zetcode fun main() { for (i in 1..10) { when { i % 3 == 0 -> continue i % 5 == 0 -> continue else -> println(i) } } }
此代码跳过可被 3 或 5 整除的数字。when
表达式使跳过条件清晰易读。输出显示不可被 3 或 5 整除的数字。
forEach 循环中的 continue
Kotlin 的 forEach
循环不直接支持 continue
。相反,我们使用 return@forEach
来实现类似的行为。
package com.zetcode fun main() { (1..10).forEach { if (it % 2 == 0) { return@forEach } println(it) } }
此示例演示了如何在 forEach
循环中跳过偶数。return@forEach
的作用类似于传统循环中的 continue
。输出显示 1 到 10 之间的奇数。
continue 的最佳实践
- 谨慎使用:过度使用
continue
会使代码更难理解。 - 清晰的条件:确保跳过条件是显而易见的,并且有充分的文档说明。
- 考虑替代方案:有时,重新构建循环可能比使用
continue
更清晰。 - 仔细标记:仅在需要控制嵌套循环时使用标签。
- 测试边界情况:验证循环边界和特殊情况下的行为。
来源
本教程深入探讨了 Kotlin 的 continue
关键字,展示了它在各种循环结构中的使用。我们探讨了基本用法、嵌套循环、标签以及函数结构中的替代方案。正确使用 continue
可以使循环更高效且富有表现力。
作者
列出 所有 Kotlin 教程。