编辑这个页面须要登录或更高权限!

Swift 嵌套循环

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

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

for i in 1...5 {
    //外循环语句
    for j in 1...2 {
        //内循环语句
    }
    //外循环语句
}

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

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

Swift 嵌套 for...in 循环

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

示例1:Swift嵌套的for-in循环

for i in 1...5 {
    print("外循环迭代 ", i)
    for j in 1...2 {
        print("内循环迭代 ", j)
        print("i = \(i); j = \(j)")
    }
}

运行该程序时,输出为:

外循环迭代  1
内循环迭代  1
i = 1; j = 1
内循环迭代  2
i = 1; j = 2
外循环迭代  2
内循环迭代  1
i = 2; j = 1
内循环迭代  2
i = 2; j = 2
外循环迭代  3
内循环迭代  1
i = 3; j = 1
内循环迭代  2
i = 3; j = 2
外循环迭代  4
内循环迭代  1
i = 4; j = 1
内循环迭代  2
i = 4; j = 2
外循环迭代  5
内循环迭代  1
i = 5; j = 1
内循环迭代  2
i = 5; j = 2

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

Swift 嵌套 while 循环

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

示例2:Swift嵌套while循环

var i = 1
while i <= 5 {
    print("外循环迭代 ", i)
    var j = 1
    while j <= 2 {
        print("内循环迭代 ", j)
        print("i = \(i); j = \(j)")
        j += 1
    }
    i += 1
}

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

Swift嵌套 repeat...while 循环

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

示例3:Swift嵌套重复循环

var i = 1
repeat {
    print("外循环迭代 ", i)
    var j = 1
    repeat {
        print("内循环迭代 ", 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("外循环迭代 ", i)
    for j in 1...2 {
        print("内循环迭代 ", 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