Swift while 和 repeat while 循环

在编程中,循环用于重复执行一段代码。例如,如果你想显示一条消息 100 次,那么你就可以使用循环。这只是一个简单的例子,你可以用循环实现更多功能。

在上一个教程中,你学习了 Swift for-in 循环。在这里,你将学习 whilerepeat...while 循环。


Swift while 循环

Swift while 循环用于在满足特定条件时运行一段特定的代码。

while 循环的语法是

while (condition){
  // body of loop
}

这里,

  • while 循环在括号 () 内评估 condition(条件)。
  • 如果 condition 的评估结果为 true(真),则执行 while 循环内的代码。
  • condition 再次被评估。
  • 这个过程会一直持续到 condition 的评估结果为 false(假)为止。
  • condition 的评估结果为 false 时,循环停止。

while 循环流程图

How while loop works in Swift
Swift 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
打印 1i 增加到 2
i = 2
n = 5
打印 2i 增加到 3
i = 3
n = 5
打印 3i 增加到 4
i = 4
n = 5
打印 4i 增加到 5
i = 5
n = 5
打印 5i 增加到 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 循环流程图

How repeat...while loop works
Swift 中 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 = 1n = 5。第一次,循环内的语句在不检查条件的情况下执行。第一次迭代完成后会检查条件。

这个程序的工作方式如下:

变量 条件:i <= n 操作
i = 1
n = 5
未检查 打印 1i 增加到 2
i = 2
n = 5
打印 2i 增加到 3
i = 3
n = 5
打印 3i 增加到 4
i = 4
n = 5
打印 4i 增加到 5
i = 5
n = 5
打印 5i 增加到 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 相同。因此,当迭代次数未知时,也使用它。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战