Swift continue 语句

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

continue 语句的语法是

continue

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


Swift continue 语句的工作原理

How continue statement works in Swift
Swift continue 语句的工作原理

Swift continue 语句与 for 循环

我们可以使用 continue 语句与 for 循环来跳过循环的当前迭代。然后程序的控制权会跳转到下一个迭代。例如:

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

输出

1
2
4
5

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

if i == 3 {
  continue
}

在这里,当 i 等于 3 时,会执行 continue 语句。因此,值 3 不会打印到输出中。

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


continue 与 while 循环

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

// program to print odd numbers from 1 to 10

var num = 0

while num <= 10{
  num += 1

  if (num % 2) == 0 {
    continue
}

print("\(num)")
}

输出

1
3
5
7
9

在上面的示例中,我们使用了 while 循环来打印 110 之间的奇数。请注意这一行:

if (num % 2) == 0 {
  continue
}

在这里,当数字是偶数时,continue 语句会跳过当前迭代并开始下一个迭代。


Swift continue 语句与嵌套循环

当我们将 continue 语句与嵌套循环一起使用时,它会跳过内层循环的当前迭代。例如:

for i in 1...3 {
  for j in 1...3 {
    
    if j == 2 {
      continue
    }
    
    print("i = \(i), j = \(j)")
  }
}

输出

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

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

if j == 2 {
  continue
}

在这里,当 j 的值为 2 时,会执行 continue 语句。因此,值 j = 2 永远不会显示在输出中。


Swift 标签 continue

到目前为止,我们使用的是无标签的 continue 语句。但是,Swift 中还有另一种形式的 continue 语句,称为 **标签 continue**。

在使用嵌套循环时,我们可以使用 **标签 continue 语句** 来跳过外层循环的当前迭代。

How labeled continue works
Swift 标签 continue 语句的工作原理

正如我们在上图中所见,我们使用了 outerloop 标识符来指定外层循环。现在,请注意 continue 语句的使用方式(continue outerloop):

在这里,continue 语句会跳过当前被标记语句(即外层循环)的迭代。然后,程序控制会转到被标记语句的下一个迭代。

示例:带 continue 的标签语句

outerloop: for i in 1...3{
  
  innerloop: for j in 1...3 {
    
    if j == 3 {
      continue outerloop
    }
    
    print("i = \(i), j = \(j)")
  }
}

输出

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

在上面的示例中,我们为循环标记了

outerloop: for i in 1...3 {...}

innerloop: for j in 1...3 {...}

这有助于识别循环。请注意带标签的 continue 语句的使用:

if j == 3 {
  continue outerloop
}

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

注意: 标签 continue 的使用通常不被推荐,因为它会使您的代码难以理解。

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

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

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

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