Swift while repeat 循环
在上一个教程中,您了解了 Swift while 循环。在这里,您将学习 while repeat 循环。
repeat…while
循环类似于 while
,但有一个关键区别。在检查测试表达式之前,执行一次 repeat…while
循环的主体。
repeat..while
循环的语法为:
repeat {
// body of loop
} while (condition)
在这里,
- 首先执行循环的主体。然后判断条件。
- 如果条件求值为 true,则重复语句中的循环体将再次执行。
- 再次判断条件。
- 此过程将继续,直到条件判断为 false。则循环停止。
repeat…while 循环的流程图
实例 1: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 = 1n = 5 | 未检查 | 1 被打印。i 增长为 2。 |
i = 2n = 5 | true | 2 被打印。i 增长为 3。 |
i = 3n = 5 | true | 3 被打印。i 增长为 4。 |
i = 4n = 5 | true | 4 被打印。i 增长为 5。 |
i = 5n = 5 | true | 5 被打印。i 增长为 6。 |
i = 6n = 5 | false | 循环终止。 |
无限 while 循环
如果 while
循环的条件始终为 true,则循环将运行无限次(直到内存已满)。这称为无限 while 循环。例如,
while (true) {
print("Endless Loop")
}
结果为:
Endless Loop
Endless Loop
.
.
.
在这里,条件总是 true。因此,while
循环将运行无限次。
for-in 与 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
相同。因此,当迭代次数未知时,也使用该方法。