在编程中,循环用于重复执行一段代码。例如,如果你想显示一条消息 100 次,那么你就可以使用循环。这只是一个简单的例子,你可以用循环实现更多功能。
在上一个教程中,你学习了 Swift for-in 循环。在这里,你将学习 while
和 repeat...while
循环。
Swift while 循环
Swift while
循环用于在满足特定条件时运行一段特定的代码。
while
循环的语法是
while (condition){
// body of loop
}
这里,
while
循环在括号()
内评估condition
(条件)。- 如果
condition
的评估结果为true
(真),则执行while
循环内的代码。 condition
再次被评估。- 这个过程会一直持续到
condition
的评估结果为false
(假)为止。 - 当
condition
的评估结果为false
时,循环停止。
while 循环流程图

示例 1:Swift while 循环
// program to display numbers from 1 to 5
// initialize the variable
var i = 1, n = 5
// while loop from i = 1 to 5
while (i <= n) {
print(i)
i = i + 1
}
输出
1 2 3 4 5
程序的工作方式如下:
变量 | 条件:i <= n |
操作 |
---|---|---|
i = 1 n = 5 |
真 |
打印 1 。i 增加到 2。 |
i = 2 n = 5 |
真 |
打印 2 。i 增加到 3。 |
i = 3 n = 5 |
真 |
打印 3 。i 增加到 4。 |
i = 4 n = 5 |
真 |
打印 4 。i 增加到 5。 |
i = 5 n = 5 |
真 |
打印 5 。i 增加到 6。 |
i = 6 n = 5 |
假 |
循环终止。 |
示例 2:while 循环显示游戏关卡
var currentLevel:Int = 0, finalLevel:Int = 5
let gameCompleted = true
while (currentLevel <= finalLevel) {
if gameCompleted {
print("You have passed level \(currentLevel)")
currentLevel += 1
}
}
print("Level Ends")
输出
You have passed level 0 You have passed level 1 You have passed level 2 You have passed level 3 You have passed level 4 You have passed level 5 Level Ends
在上面的示例中,我们使用 while
循环来检查当前关卡并在控制台上显示它。
repeat...while 循环
repeat...while
循环与 while
循环类似,但有一个关键区别:repeat...while
循环的主体在检查测试表达式之前会执行一次。
repeat..while
循环的语法是
repeat {
// body of loop
} while (condition)
这里,
- 循环体首先被执行。然后评估
condition
(条件)。 - 如果
condition
的评估结果为true
,则再次执行repeat
语句内的循环体。 condition
再次被评估。- 这个过程会一直持续到
condition
的评估结果为false
。然后循环停止。
repeat...while 循环流程图

示例 3:repeat...while 循环
// program to display numbers
var i = 1, n = 5
// repeat...while loop from 1 to 5
repeat {
print(i)
i = i + 1
} while (i <= n)
在上面的示例中,最初 i = 1
,n = 5
。第一次,循环内的语句在不检查条件的情况下执行。第一次迭代完成后会检查条件。
这个程序的工作方式如下:
变量 | 条件:i <= n |
操作 |
---|---|---|
i = 1 n = 5 |
未检查 | 打印 1 。i 增加到 2。 |
i = 2 n = 5 |
真 |
打印 2 。i 增加到 3。 |
i = 3 n = 5 |
真 |
打印 3 。i 增加到 4。 |
i = 4 n = 5 |
真 |
打印 4 。i 增加到 5。 |
i = 5 n = 5 |
真 |
打印 5 。i 增加到 6。 |
i = 6 n = 5 |
假 |
循环终止。 |
无限 while 循环
如果 while
循环的条件始终为 true
,则循环将无限次运行(直到内存耗尽)。这被称为无限 while
循环。例如:
while (true) {
print("Endless Loop")
}
输出
Endless Loop Endless Loop . . .
这里,条件始终为 true
。因此,while
循环将无限次运行。
for 与 while 循环
for-in
循环通常在已知迭代次数时使用。例如:
// this loop is iterated 5 times
for number in 1...5 {
// body of loop
}
然而,while
循环通常在迭代次数未知时使用。例如:
while (condition) {
// body of loop
}
注意:repeat...while
的工作原理与 while
相同。因此,当迭代次数未知时,也使用它。