0Pricing
Swift Academy · 课时

while 与 repeat-while 循环

学习基于条件的循环,以及如何使用 repeat-while 保证至少执行一次

while 与 repeat-while 循环 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 4 节课。

欢迎

当迭代次数无法预先确定时,`while` 和 `repeat-while` 循环是合适的选择。下面来了解各自的使用时机和方法。

while 循环

`while` 循环会在每次迭代前计算条件: ```swift var count = 0 while count < 5 { print(count) count += 1 } // prints 0, 1, 2, 3, 4 ``` 如果初始条件为 false,循环体一次也不会执行。

repeat-while 循环

`repeat-while` 循环会在每次迭代后计算条件,因此至少会执行一次: ```swift var x = 10 repeat { print(x) x -= 3 } while x > 0 // prints 10, 7, 4, 1 ```

while 与 repeat-while

可能一次都不需要执行时,请使用 `while`。 必须至少执行一次时,请使用 `repeat-while`: ```swift // Reading input until valid — must try at least once: repeat { input = readLine() ?? "" } while input.isEmpty ```

使用 while true 创建无限循环

`while true` 循环会一直运行,直到遇到 `break`——事件循环中经常采用这种方式: ```swift while true { let event = nextEvent() if event == .quit { break } handleEvent(event) } ``` 请始终确保存在一个可到达的退出条件。

倒计时示例

```swift var countdown = 5 while countdown > 0 { print("\(countdown)...") countdown -= 1 } print("Liftoff!") ``` 这是经典的 while 循环模式——不断递减,直到条件不再成立。

避免无限循环

常见的无限循环错误: ```swift var i = 0 while i < 5 { print(i) // forgot i += 1 ← infinite loop! } ``` 请始终确认循环变量会更新,并且条件最终会变为 false。

使用可选绑定的 while

将 `while` 与可选绑定结合起来,可以一直处理序列,直到遇到 nil: ```swift var items: [Int] = [1, 2, 3] while let value = items.first { print(value) items.removeFirst() } ``` 这种模式适合以破坏性方式逐个取出集合元素,简洁而清晰。

游戏循环示例

```swift var lives = 3 var gameOver = false while !gameOver { let hit = Bool.random() if hit { lives -= 1 } if lives == 0 { gameOver = true } } print("Game Over") ``` 真实的游戏循环会使用这种模式,持续运行直到满足终止条件。

嵌套的 while 循环

while 循环可以嵌套,在解析或矩阵算法中很常见: ```swift var row = 0 while row < 3 { var col = 0 while col < 3 { print("(\(row),\(col))", terminator: " ") col += 1 } print(); row += 1 } ```

快速检查

哪个循环可以保证循环体**至少执行一次**?

回顾

要点总结: • `while condition { }`——每次运行前检查,可能一次也不执行 • `repeat { } while condition`——运行后检查,至少执行一次 • `while true { ... break }`——事件循环模式 • 请始终确保循环变量朝着终止条件推进 • 将 `while` 与可选绑定结合,用简洁的方式消耗序列 接下来:使用 for-in 遍历集合。

常见问题解答

「while 与 repeat-while 循环」课时是免费的吗?

是的 — 「while 与 repeat-while 循环」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 4 节课。

「while 与 repeat-while 循环」这节课中我会学到什么?

学习基于条件的循环,以及如何使用 repeat-while 保证至少执行一次 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Swift Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「while 与 repeat-while 循环」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Swift Academy 课中编写并运行代码吗?

能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用范围进行 for-in 循环
  2. while 与 repeat-while 循环
  3. 使用 for-in 迭代集合
  4. break、continue 与带标签语句
← 返回 Swift Academy