阅读 163

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内循环迭代  1i = 1; j = 1内循环迭代  2i = 1; j = 2外循环迭代  2内循环迭代  1i = 2; j = 1内循环迭代  2i = 2; j = 2外循环迭代  3内循环迭代  1i = 3; j = 1内循环迭代  2i = 3; j = 2外循环迭代  4内循环迭代  1i = 4; j = 1内循环迭代  2i = 4; j = 2外循环迭代  5内循环迭代  1i = 5; j = 1内循环迭代  2i = 5; j = 2

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

Swift 嵌套 while 循环

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

示例2:Swift嵌套while循环

示例

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

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

示例4:使用Swift循环创建图案的程序

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

示例

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

运行该程序时,输出为:

11 21 2 31 2 3 41 2 3 4 5


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐