Swift 嵌套循环
在本教程中,我们将通过示例学习 Swift 中的嵌套循环。
如果一个循环存在于另一个循环体中,则称为嵌套循环。下面是嵌套 for 循环的示例。
// outer loopfor i in 1...5 {// codes// inner loopfor j in 1...2 {//codes}}
这里,1…2 中 j 的内部 for 循环嵌套在 1…5 中 i 的外部 for 循环中。
Swift 嵌套 for 循环
嵌套的 for 循环包括一个 for 循环和另一个 for 循环。例如,
// Swift program to display 7 days of 2 weeks// outer loopfor week in 1...2 {print("Week: \(week)")// inner loopfor day in 1...7 {print(" Day: \(day)")}// line break after iteration of outer loopprint("")}
结果为:
Week: 1Day: 1Day: 2...Week: 2Day: 1Day: 2...
while 循环中的 Swift for 循环
我们还可以创建不同类型的嵌套循环。也就是说,我们可以将 for 循环放在 while 循环中,反之亦然。例如,
// program to display 7 days of 2 weeksvar weeks = 2var i = 1// outer while loopwhile (i <= weeks){print("Week: \(i)")// inner for loopfor day in 1...7{print(" Day: \(day)")}i = i + 1}
结果为:
Week: 1Day: 1Day: 2…Week: 2Day: 1Day: 2...
这里,我们在 while 循环中使用了 for 循环。
注意:类似地,我们也可以在
while 或 for 循环中嵌套一个 repeat…while 循环。在嵌套循环中使用 break 和 continue 关键字
1. 在嵌套循环内中使用 break 关键字
// outer loopfor week in 1...3 {print("Week: \(week)")// inner loopfor day in 1...7 {if(week == 2) {// use of break statementbreak}print(" Day: \(day)")}print("")}
结果如下:
Week: 1Day: 1Day: 2...Week: 2Week: 3Day: 1Day: 2...
当我们在内部循环中使用 break 语句 时,它会终止内部循环而不是外部循环。例如,
if(week == 2) {break}
这里,当 week 为 2 时,程序终止循环。
因此,不打印 week 2 的日期。但是 week 的外部循环不受影响。
2. 在嵌套循环内中使用 continue 关键字
类似地,当我们在内部循环中使用 continue 语句 时,它只跳过内部循环的当前迭代。例如,
// outer loopfor week in 1...2 {print("Week: \(week)")// inner loopfor day in 1...7 {// use of continue statementif(day % 2 != 0) {continue}print(" Day: \(day)")}print("")}
结果如下:
Week: 1Day: 2Day: 4Day: 6Week: 2Day: 2Day: 4Day: 6
在上面的实例中,我们在内部 for 循环中使用了 continue 语句。注意代码,
if(day % 2 != 0) {continue}
这里,当 day 的值为奇数时,执行 continue 语句。因此,该程序只打印偶数天。
我们可以看到 continue 语句只影响了内部循环。外部循环正常运行,没有任何问题。