跳到主要内容

Swift中的continue语句

提示
  1. 基本用法continue语句用于跳过循环的当前迭代,直接进入下一个迭代,通常与决策语句(如if)结合使用。
  2. 在不同循环中的应用continue可用于for循环和while循环中。在for循环中,它可跳过特定迭代(如当i == 3时),而在while循环中,它可以用来跳过满足特定条件的迭代(例如打印1到10之间的奇数)。
  3. 嵌套循环和带标签的continue:在嵌套循环中,continue跳过内部循环的当前迭代。使用带标签的continue(如continue outerloop),可以指定跳过外部循环的当前迭代,增加代码控制灵活性。

在计算机编程中,continue 语句用于跳过当前循环的迭代,并让程序流程转到下一个迭代。

continue 语句的语法是:

continue

在了解 continue 语句之前,请确保你已了解以下内容:

Swift continue 语句的工作原理

Swift 中 continue 语句的工作原理

Swift 中与 for 循环一起使用 continue 语句

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

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 语句几乎总是与决策语句一起使用。

在 while 循环中使用 continue

我们也可以在 while 循环中使用 continue 语句来跳过当前迭代。例如,

// 程序用于打印从 1 到 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 语句跳过外部循环的当前迭代。

带标签的 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 = 1

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

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

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

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

if j == 3 {
continue outerloop
}

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

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