English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift 嵌套循环

In diesem Artikel werden Sie durch Beispiele geschachtelte Schleifen und ihre Arbeitsweise kennenlernen.

Wenn eine Schleife im Hauptteil einer anderen Schleife existiert, wird sie als geschachtelte Schleife bezeichnet. Dies ist geschachtelter for-Beispiel für in-Schleifen.

for i in 1...5 {
    //Äußere Schleifenanweisungen
    for j in 1...2 {
        //Innere Schleifenanweisungen
    }
    //Äußere Schleifenanweisungen
}

hier, for j in 1...2 Schleifen werden als innere Schleifen bezeichnet, die sich in for i in 1...5im Hauptteil des äußeren Zyklus bezeichnet.

Es sollte beachtet werden, dass geschachtelte Schleifen nicht unbedingt denselben Typ haben müssen. Zum Beispiel kann man eine while-Schleife im Hauptteil eines for-Zyklus platzieren, aber es bleibt dennoch eine geschachtelte Schleife.

geschachtelte Swift-for...in-Schleifen

geschachteltfor-in-Schleifenin einer anderen for-in-Schleifen enthalten eine for-in-Schleifen als Anweisung. Man kann beliebig viele geschachtelte for-Schleifen haben.-in-Schleifen.

示例1:geschachtelte Swift-for-in-Schleifen

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

运行该程序时,输出为:

äußere Schleifeniteration  1
innere Schleifeniteration  1
i = 1; j = 1
innere Schleifeniteration  2
i = 1; j = 2
äußere Schleifeniteration  2
innere Schleifeniteration  1
i = 2; j = 1
innere Schleifeniteration  2
i = 2; j = 2
äußere Schleifeniteration  3
innere Schleifeniteration  1
i = 3; j = 1
innere Schleifeniteration  2
i = 3; j = 2
äußere Schleifeniteration  4
innere Schleifeniteration  1
i = 4; j = 1
innere Schleifeniteration  2
i = 4; j = 2
äußere Schleifeniteration  5
innere Schleifeniteration  1
i = 5; j = 1
innere Schleifeniteration  2
i = 5; j = 2

Im obigen Programm wird der äußere Schleifenzyklus5mal. In jeder Iteration des äußeren Zyklus wird die innere Schleife每次迭代2mal.

geschachtelte Swift-while-Schleifen

geschachteltwhile-Schleifeneine while-Schleife enthält, als Anweisung in einer anderen while-Schleife. Man kann beliebig viele geschachtelte while-Schleifen einrichten.

示例2:geschachtelte Swift-while-Schleifen

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
}

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

geschachtelte Swift-Wiederholungsschleifen...while

geschachteltrepeat while-Schleifen eine repeat-while-Schleife als einer repeat-Anweisungen innerhalb einer while-Schleife. Man kann beliebig viele geschachtelte while-Schleifen einrichten.

示例3:geschachtelte Swift-Wiederholungsschleifen

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)

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

Verschiedene Arten von geschachtelten Swift-Schleifen

Es ist nicht erforderlich, dass geschachtelte Schleifen denselben Typ haben. Man kann auch Variationen von geschachtelten Schleifen erstellen, indem man eine Schleife in eine andere einfügt.

示例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