上一章Swift教程请查看:swift break语句
在本文中,你将学习如何使用continue语句来转移对程序的控制。
当你处理循环或条件语句时,你可能需要跳过循环内的一些语句,或者立即终止循环而不检查测试表达式。
在这种情况下,使用break和continue语句,访问上一章以了解更多关于break语句的信息。
continue语句停止循环或switch语句中的语句执行,然后,它跳回来再次计算循环的测试表达式。
Swift continue语句如何工作?
例1:for循环中的Swift continue语句
for i in 1...5 {
if i == 4 {
continue
}
print("i = \(i)")
}
在上面的程序中,迭代的序列的范围是1到5。
i的值被设置为范围(1)中的第一个数字,并在每次迭代中更新到该范围的下一个数字。
循环还包含一个if语句,表达式i == 4,当表达式被赋值为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("level必须为正")
intialLevel = 0
currentLevel = intialLevel
continue // 跳过当前执行
}
currentLevel += 1
print("next level")
}
print("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)")
}
在上面的程序中,if i
== 4中的continue语句只会跳过for循环内部的print(“i = \(i)”)语句的执行。但是,它不会跳过1…5中对i执行的外层循环。
但是,如果你想继续外环呢?为此,你需要在Swift中使用带标签的语句。
带继续标记的语句
在表单(label:
Statement)中有前缀的语句称为带标签的语句。标签是一个标识符,你可以稍后在break或continue语句中引用它。
如何标记带有continue的语句?
这里,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)")
}
在程序中,我们使用了continue
outerloop语句来跳过内部循环和外部循环中的语句执行。在这个过程中,i和j的值都被更新为范围内的下一个数字。