如果一个循环存在于另一个循环的主体内,则称为嵌套循环。这是嵌套的for-in循环的示例。
for i in 1...5 {
//statements of outer loop
for j in 1...2 {
//statements of inner loop
}
//statements of outerloop
}
在这里, for j in 1...2
循环称为内部循环,位于for i in 1...5
循环的主体内for i in 1...5
称为外部循环。
应该注意的是,嵌套循环可能不包含相同类型的循环。例如,您可以将一个while循环放在for循环的主体内,但它仍然是嵌套循环。
Swift嵌套循环
嵌套的for-in循环在另一个for-in循环中包含一个for-in循环作为语句。您可以根据需要具有任意数量的嵌套for-in循环。
示例1:Swift嵌套的for-in循环
for i in 1...5 {
print("Outer loop iteration ", i)
for j in 1...2 {
print("Inner loop iteration ", j)
print("i = \(i); j = \(j)")
}
}
运行该程序时,输出为:
Outer loop iteration 1
Inner loop iteration 1
i = 1; j = 1
Inner loop iteration 2
i = 1; j = 2
Outer loop iteration 2
Inner loop iteration 1
i = 2; j = 1
Inner loop iteration 2
i = 2; j = 2
Outer loop iteration 3
Inner loop iteration 1
i = 3; j = 1
Inner loop iteration 2
i = 3; j = 2
Outer loop iteration 4
Inner loop iteration 1
i = 4; j = 1
Inner loop iteration 2
i = 4; j = 2
Outer loop iteration 5
Inner loop iteration 1
i = 5; j = 1
Inner loop iteration 2
i = 5; j = 2
在上面的程序中,外循环迭代5次。在外循环的每次迭代中,内循环迭代2次。
Swift嵌套循环
嵌套的while循环在另一个while循环中包含一个while循环作为语句。您可以根据需要具有任意数量的嵌套while循环。
示例2:Swift嵌套while循环
var i = 1
while i <= 5 {
print("Outer loop iteration ", i)
var j = 1
while j <= 2 {
print("Inner loop iteration ", j)
print("i = \(i); j = \(j)")
j += 1
}
i += 1
}
该程序的输出与上述程序相同。
Swift嵌套重复循环
嵌套的repeat while循环在另一个repeat-while循环内包含一个repeat-while循环作为语句。您可以根据需要具有任意数量的嵌套while循环。
示例3:Swift嵌套重复循环
var i = 1
repeat {
print("Outer loop iteration ", i)
var j = 1
repeat {
print("Inner loop iteration ", j)
print("i = \(i); j = \(j)")
j += 1
} while (j <= 2)
i += 1
} while (i <= 5)
该程序的输出与上述程序相同。
不同类型的Swift嵌套循环
不必具有相同类型的嵌套循环。您还可以通过将一种类型的循环放入其他类型的循环中来创建嵌套循环的变体。
示例3:while和for的Swift嵌套循环
下面的程序包含不同类型的嵌套循环(while和for-in循环)。
var i = 1
while i <= 5 {
print("Outer loop iteration ", i)
for j in 1...2 {
print("Inner loop iteration ", j)
print("i = \(i); j = \(j)")
}
i += 1
}
该程序的输出与上述程序相同。
示例4:使用Swift循环创建模式的程序
嵌套循环通常用于在编程中创建模式。下面的程序显示了如何使用嵌套循环创建简单的模式。
let rows = 5
for i in 1...rows {
for j in 1...i {
print("\(j) ", terminator: "")
}
print("")
}
运行该程序时,输出为:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5