先用人话理解
循环适合重复执行一段代码。`for` 常用于遍历范围或集合;`while` 会在条件为真时继续执行。区间 `1..5` 包含两端,而 `1 until 5` 不包含结束值 5。
记住这一点
`..` 创建包含终点的闭区间,`until` 不包含终点。`countdown--` 等价于把值减 1 后重新赋值;如果忘记更新循环条件相关的变量,`while` 可能永远不结束。
`..` 创建包含终点的闭区间,`until` 不包含终点。`countdown--` 等价于把值减 1 后重新赋值;如果忘记更新循环条件相关的变量,`while` 可能永远不结束。
看一段代码
先看整体,再留意每一行的中文注释。可以复制到 Kotlin Playground 亲自运行。
Kotlin · 1.9+
fun main() {
for (number in 1..5) { // 从 1 到 5,包含 5
println("清单项目:$number")
}
for (number in 1 until 5) { // 从 1 到 4,不包含 5
println(number)
}
var countdown = 3
while (countdown > 0) { // 条件为真时重复执行
println(countdown)
countdown-- // 每轮减 1,避免无限循环
}
println("开始!")
}轮到你动手
抄下来,改一改
把第一个循环改成打印 1 到 10;再把倒计时改成从 5 开始。
小提示:先让原代码成功运行,再一次只改一个地方。
三道小测
先自己选答案,再展开核对。答案不会自动揭晓。
1. `1..5` 包含哪些数字?
2. `while` 什么时候继续循环?
3. 为什么倒计时需要 `countdown--`?
1. B. 两端都包含。
2. A. 条件为真时执行循环体。
3. A. 更新变量,确保循环可以结束。
深入阅读
官方文档的 for 循环章节介绍遍历范围、集合和索引。
https://kotlinlang.org/docs/control-flow.html#for-loops ↗