Swift break 语句

在本教程中,您将通过实例学习 break 语句。

break 语句用于在遇到循环时立即终止循环。

break 语句的语法为:

  1. break

在学习 break 语句之前,请确保您了解:


Swift break 语句的流程图


for 循环中使用 break 语句

我们可以使用 for 循环的 break 语句在满足特定条件时终止循环。例如,

  1. for i in 1...5 {
  2. if i == 3 {
  3. break
  4. }
  5. print(i)
  6. }

结果为:

  1. 1
  2. 2

在上面的实例中,我们使用 for 循环来打印 i 的值。请注意使用 break 语句,

  1. if i == 3 {
  2. break
  3. }

这里,当 i 等于 3 时,break 语句终止循环。因此,输出不包括 2 之后的值。

注意break 语句几乎总是与 条件语句 一起使用。

while 循环中使用 break

我们还可以使用 break 语句终止 while 循环。例如,

  1. // program to find first 5 multiples of 6
  2. var i = 1
  3. while (i<=10) {
  4. print("6 * \(i) =",6 * i)
  5. if i >= 5 {
  6. break
  7. }
  8. i = i + 1
  9. }

结果为:

  1. 6 * 1 = 6
  2. 6 * 2 = 12
  3. 6 * 3 = 18
  4. 6 * 4 = 24
  5. 6 * 5 = 30

在上面的实例中,我们使用 while 循环来查找 6 的前 5 个倍数,

  1. if i >= 5 {
  2. break
  3. }

这意味着当 i 大于或等于 5 时,while 循环终止。


嵌套循环中使用 break 语句

我们还可以在嵌套循环中使用 break 语句。

  • 如果在内部循环中使用 break,则内部循环终止。
  • 如果在内部循环外使用 break,则外部循环终止。
  1. // outer for loop
  2. for i in 1...3 {
  3. // inner for loop
  4. for j in 1...3 {
  5. if i == 2 {
  6. break
  7. }
  8. print("i = \(i), j = \(j)")
  9. }
  10. }

结果为:

  1. i = 1, j = 1
  2. i = 1, j = 2
  3. i = 1, j = 3
  4. i = 3, j = 1
  5. i = 3, j = 2
  6. i = 3, j = 3

在上面的实例中,我们在内部 for 循环中使用了 break 语句。

  1. if i == 2 {
  2. break
  3. }

这里,当 i2 时,执行 break 语句。它终止内部循环,程序的控制流移到外部循环。

因此,结果永远不会是 i=2 的值。


Swift 标记 break

到目前为止,我们使用了未标记的 break 语句。然而,Swift 中还有另一种形式的 break 语句,称为 标记break(labeled break)。

当使用嵌套循环时,我们可以使用带标记的 break 语句终止外部循环。

如上图所示,我们使用了 outerloop 标识来指定外循环。现在,请注意如何使用 break 语句(break outerloop)。

这里,break 语句终止标记语句(即外部循环)。然后,程序的控制跳转到标记语句之后的语句。

实例

  1. outerloop: for i in 1...3{
  2. innerloop: for j in 1...3 {
  3. if j == 3 {
  4. break outerloop
  5. }
  6. print("i = \(i), j = \(j)")
  7. }
  8. }

结果为:

  1. i = 1, j = 1
  2. i = 1, j = 2

在上面的实例中,我们将循环标记为:

outerloop: for i in 1…3 {…}

innerloop: for j in 1…3 {…}

这样有助于识别循环。请注意使用带标记的 break 语句。

  1. if j == 3 {
  2. break outerloop
  3. }

在这里,break 语句现在将终止标记为 outerloop 的外部循环。