编辑这个页面须要登录或更高权限!

Swift continue 语句

在本文中,您将学习使用continue语句来转移程序的控制权。

在使用循环或条件语句时,可能需要跳过循环内的某些语句或立即终止循环,而不检查测试表达式。

在这种情况下,将使用break和Continue语句。访问该页面以了解有关break语句的更多信息。

continue 语句停止循环或switch语句内语句的执行。然后,它将跳回对循环的测试表达式再次求值。

Continue 语句的语法为:

continue

continue 语句如何工作?

Swif continue语句

示例1:for循环中的Swift continue语句

for i in 1...5 {
    if i == 4 {
        continue
    }
    print("i = \(i)")
}

运行该程序时,输出为:

i = 1
i = 2
i = 3
i = 5

在上面的程序中,要迭代的序列的范围是1到5。

i 的值设置为range(1)中的第一个数字,并在每次迭代时更新为范围的下一个数字。

循环还包含表达式 i = = 4的 if 语句。当表达式求值为 true 时(在第4次迭代中)执行 continue 语句,跳过语句print("i = \(i)") 的执行 ,转到下一次迭代(i = 5)。

示例2:while循环中的Swift continue语句

var intialLevel:Int = -5, finalLevel:Int = 2
var currentLevel:Int = intialLevel

while currentLevel < finalLevel {
    if intialLevel < 0 {
        print("起始级别必须为正数")
        intialLevel = 0
        currentLevel = intialLevel
        continue //跳过当前执行
    }
    currentLevel += 1
    print("next level")
}
print("在while循环之外")

运行该程序时,输出为:

起始级别必须为正数
next level
next level
在while循环之外

在以上程序中,while循环运行直到 currentLevel小于finalLevel。由于intialLevel分配的值是-5且小于0,因此执行 if 内部语句。

当程序到达continue语句时,它跳过while循环的语句,然后跳来再次检查 currentLevel<finalLevel 的条件。

示例3:带有嵌套循环的Swift Continue语句

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

运行该程序时,输出为:

i = 1
i = 2
i = 3
i = 5
j = 1
i = 1
i = 2
i = 3
i = 5

在上面的程序中,if i==4中的continue语句只跳过内部for循环中语句 print("i=\(i)") 的执行。但是,它不会跳过 for i in 1...5 外部循环的执行。

但是,如果您也想要continue外循环怎么办。为此,您需要在Swift中使用带标签的语句。

带继续标签的声明

前缀为(label:Statement)形式的语句称为带标签的语句。标签是一个标识符,您可以稍后在break或continue语句中引用它。

带continue的标签语句如何工作?

带有继续标记的Swift标记语句

这里,label是一个标识符。当continue语句执行时,程序将跳过循环中coe的其余部分,并跳转到label开始的语句。

示例4:带有 continue 标签的语句

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

运行该程序时,输出为:

i = 1
i = 2
i = 3
i = 1
i = 2
i = 3

在以上程序中,有两个标记的语句 outerloop: for j in 1...2 和 innerloop: for i in 1...5。

标签名称outerloop和innerloop可以与continue语句一起使用。

在程序中,我们使用了continue outerloop 语句来跳过内外循环中语句的执行。在这个过程中,i 和 j的值都会更新为范围内的下一个数字