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