Swift continue 语句

在本教程中,我们将通过实例学习 continue 语句。

continue 语句用于跳过循环的当前迭代,程序的控制流转到下一次迭代。

continue 语句的语法为:

  1. continue

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


Swift continue 语句的流程图


for 循环中使用 continue

我们可以在 for 循环中使用 continue 语句来跳过循环的当前迭代。则程序的控制跳到下一次迭代。例如,

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

结果如下:

  1. 1
  2. 2
  3. 4
  4. 5

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

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

这里,当 i 等于 3 时,执行 continue 语句。因此,不会输出 3

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

while 循环中使用 continue

我们还可以使用 continue 语句跳过 while 循环的当前迭代。例如,

  1. // program to print odd numbers from 1 to 10
  2. var num = 0
  3. while num <= 10{
  4. num += 1
  5. if (num % 2) == 0 {
  6. continue
  7. }
  8. print("\(num)")
  9. }

结果如下:

  1. 1
  2. 3
  3. 5
  4. 7
  5. 9

在上面的实例中,我们使用 while 循环打印 110 之间的奇数,

  1. if (num % 2) == 0 {
  2. continue
  3. }

这里,当数字为偶数时,continue 语句跳过当前迭代并开始下一次迭代。


嵌套循环中使用 continue

当我们使用带有嵌套循环的 continue 语句时,它跳过了内部循环的当前迭代。例如,

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

结果为:

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

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

  1. if j == 2 {
  2. continue
  3. }

这里,当 j 的值为 2 时,执行 continue 语句。因此,结果永远不会是 j=2 的值。


Swift 标记 continue

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

当使用嵌套循环时,我们可以使用带标记的 continue 语句跳过外部循环的当前迭代。

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

这里,continue 语句将跳过带标签语句的当前迭代(即外循环)。然后,程序控制转到标记语句的下一次迭代。

实例

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

结果如下:

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

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

outerloop: for i in 1…3 {…}

innerloop: for j in 1…3 {…}

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

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

这里,当 j 的值等于 3 时,continue 语句将跳过标记为 outerloop 的外循环的迭代。

注意:通常并不鼓励使用带标记的 continue,因为它会使代码难以理解。