Swift while repeat 循环

在上一个教程中,您了解了 Swift while 循环。在这里,您将学习 while repeat 循环。

repeat…while 循环类似于 while,但有一个关键区别。在检查测试表达式之前,执行一次 repeat…while 循环的主体。

repeat..while 循环的语法为:

  1. repeat {
  2. // body of loop
  3. } while (condition)

在这里,

  • 首先执行循环的主体。然后判断条件。
  • 如果条件求值为 true,则重复语句中的循环体将再次执行。
  • 再次判断条件。
  • 此过程将继续,直到条件判断为 false。则循环停止。

repeat…while 循环的流程图


实例 1:repeat…while 循环

  1. // program to display numbers
  2. var i = 1, n = 5
  3. // repeat...while loop from 1 to 5
  4. repeat {
  5. print(i)
  6. i = i + 1
  7. } while (i <= n)

在上面的实例中,初始值为 i=1n=5。这是第一次循环中的语句在不检查条件的情况下执行。在第一次迭代完成后检查条件。

下面是这个程序的工作原理,

变量条件: i <= n行为
i = 1n = 5未检查1 被打印。i 增长为 2
i = 2n = 5true2 被打印。i 增长为 3
i = 3n = 5true3 被打印。i 增长为 4
i = 4n = 5true4 被打印。i 增长为 5
i = 5n = 5true5 被打印。i 增长为 6
i = 6n = 5false循环终止。

无限 while 循环

如果 while 循环的条件始终为 true,则循环将运行无限次(直到内存已满)。这称为无限 while 循环。例如,

  1. while (true) {
  2. print("Endless Loop")
  3. }

结果为:

  1. Endless Loop
  2. Endless Loop
  3. .
  4. .
  5. .

在这里,条件总是 true。因此,while 循环将运行无限次。


for-in 与 while 循环比较

当知道迭代次数时,通常使用 for-in 循环。例如,

  1. // this loop is iterated 5 times
  2. for number in 1...5 {
  3. // body of loop
  4. }

然而,当迭代次数未知时,通常使用 while 循环。例如,

  1. while (condition) {
  2. // body of loop
  3. }
注意repeat…while 的工作与 while 相同。因此,当迭代次数未知时,也使用该方法。