原文: https://www.programiz.com/swift-programming/nested-loops

在本文中,您将通过示例了解嵌套循环及其工作方式。

如果另一个循环体内存在一个循环,则称为嵌套循环。 这是嵌套的for-in循环的示例。

  1. for i in 1...5 {
  2. //statements of outer loop
  3. for j in 1...2 {
  4. //statements of inner loop
  5. }
  6. //statements of outerloop
  7. }

在此,称为for j in 1...2的内部循环位于for i in 1...5的主体内部,称为外部循环。

应该注意的是,嵌套循环可能不包含相同类型的循环。 例如,您可以将一个while循环放在for循环的主体内,但它仍然是嵌套循环。


Swift 嵌套循环

嵌套 for-in 循环在另一个for-in循环中包含一个for-in循环作为语句。 您可以根据需要具有任意数量的嵌套for-in循环。

示例 1:Swift 嵌套循环

  1. for i in 1...5 {
  2. print("Outer loop iteration ", i)
  3. for j in 1...2 {
  4. print("Inner loop iteration ", j)
  5. print("i = \(i); j = \(j)")
  6. }
  7. }

运行该程序时,输出为:

  1. Outer loop iteration 1
  2. Inner loop iteration 1
  3. i = 1; j = 1
  4. Inner loop iteration 2
  5. i = 1; j = 2
  6. Outer loop iteration 2
  7. Inner loop iteration 1
  8. i = 2; j = 1
  9. Inner loop iteration 2
  10. i = 2; j = 2
  11. Outer loop iteration 3
  12. Inner loop iteration 1
  13. i = 3; j = 1
  14. Inner loop iteration 2
  15. i = 3; j = 2
  16. Outer loop iteration 4
  17. Inner loop iteration 1
  18. i = 4; j = 1
  19. Inner loop iteration 2
  20. i = 4; j = 2
  21. Outer loop iteration 5
  22. Inner loop iteration 1
  23. i = 5; j = 1
  24. Inner loop iteration 2
  25. i = 5; j = 2

在上面的程序中,外循环迭代 5 次。 在外循环的每次迭代中,内循环迭代 2 次。


Swift 嵌套while循环

嵌套的while循环在另一个while循环中包含一个while循环作为语句。 您可以根据需要具有任意数量的嵌套while循环。

示例 2:Swift 嵌套while循环

  1. var i = 1
  2. while i <= 5 {
  3. print("Outer loop iteration ", i)
  4. var j = 1
  5. while j <= 2 {
  6. print("Inner loop iteration ", j)
  7. print("i = \(i); j = \(j)")
  8. j += 1
  9. }
  10. i += 1
  11. }

该程序的输出与上述程序相同。


Swift 嵌套repeat-while循环

嵌套的repeat-while循环包含一个repeat-while循环,作为另一个repeat-while循环中的语句。 您可以根据需要具有任意数量的嵌套while循环。

示例 3:Swift 嵌套repeat-while循环

  1. var i = 1
  2. repeat {
  3. print("Outer loop iteration ", i)
  4. var j = 1
  5. repeat {
  6. print("Inner loop iteration ", j)
  7. print("i = \(i); j = \(j)")
  8. j += 1
  9. } while (j <= 2)
  10. i += 1
  11. } while (i <= 5)

程序输出与上一程序相同。


不同类型的 Swift 嵌套循环

不必具有相同类型的嵌套循环。 您还可以通过将一种类型的循环放入其他类型的循环中来创建嵌套循环的变体。

示例 3:Swift whilefor的嵌套循环

下面的程序包含不同类型的嵌套循环(whilefor-in循环)。

  1. var i = 1
  2. while i <= 5 {
  3. print("Outer loop iteration ", i)
  4. for j in 1...2 {
  5. print("Inner loop iteration ", j)
  6. print("i = \(i); j = \(j)")
  7. }
  8. i += 1
  9. }

程序输出与上一程序相同。


示例 4:使用 Swift 循环创建模式的程序

嵌套循环通常用于在编程中创建模式。 下面的程序显示了如何使用嵌套循环创建简单的模式。

  1. let rows = 5
  2. for i in 1...rows {
  3. for j in 1...i {
  4. print("\(j) ", terminator: "")
  5. }
  6. print("")
  7. }

运行该程序时,输出为:

  1. 1
  2. 1 2
  3. 1 2 3
  4. 1 2 3 4
  5. 1 2 3 4 5