Schnelle while- und wiederholte while-Schleife (mit Beispielen)

In diesem Artikel lernen Sie, wie Sie while- und while-while-Schleifen in der Swift-Programmierung erstellen.

Im vorherigen Artikel haben wir die For-In-Schleife kennengelernt, mit der eine Reihe von Aufgaben für eine bestimmte Anzahl von Malen ausgeführt werden können. In diesem Artikel lernen Sie, die For-In-Schleife zu verwenden whileund repeat… whileals Alternative zu verwenden, wenn die Anzahl der Iterationen unbekannt ist.

Eine while-Schleife führt eine Reihe von Anweisungen aus, bis eine Bedingung vorliegt false. Diese Arten von Schleifen werden am besten verwendet, wenn die Anzahl der Iterationen vor Beginn der ersten Iteration nicht bekannt ist. Swift bietet zwei Arten von while-Schleifen:

1. Swift while-Schleife

Diese Schleife wertet ihren Zustand zu Beginn jedes Durchlaufs durch die Schleife aus.

Die Syntax der while-Schleife lautet:

 while (TestExpression) ( // statements )

Wie funktioniert die while-Schleife?

Das TestExpressionist ein boolescher Ausdruck.

Wenn das TestExpressionausgewertet wird true,

  • Anweisungen innerhalb der while-Schleife werden ausgeführt.
  • und das TestExpressionwird nochmal ausgewertet.

Dieser Vorgang wird fortgesetzt, bis der TestExpressionausgewertet wird false. Wenn das TestExpressionausgewertet wird, falsewird die while-Schleife beendet.

Flussdiagramm der while-Schleife

Beispiel 1: While-Schleife

 var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true while (currentLevel <= finalLevel) ( //play game if gameCompleted ( print("You have passed level (currentLevel)") currentLevel += 1 ) ) print("outside of while loop")

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Sie haben Level 0 bestanden Sie haben Level 1 bestanden Sie haben Level 2 bestanden Sie haben Level 3 bestanden Sie haben Level 4 bestanden Sie haben Level 5 außerhalb der while-Schleife bestanden 

Im obigen Programm werden die Variablen currentLevel und finalLevel auf 0 und die Konstante gameCompleted auf initialisiert true.

In jeder Iteration der while-Schleife wird die Bedingung überprüft currentLevel <= finalLevel. Wenn die Bedingung zurückgegeben wird true, werden Anweisungen innerhalb der while-Schleife ausgeführt, andernfalls wird die Schleife beendet.

Ausführungsschritte
Wiederholung Bedingung (currentLevel <= finalLevel) Ausgabe
1 0 <= 5 (wahr) Du hast Level 0 bestanden
2 1 <= 5 (wahr) Du hast Level 1 bestanden
3 2 <= 5 (wahr) Du hast Level 2 bestanden
4 3 <= 5 (wahr) Du hast Level 3 bestanden
5 4 <= 5 (wahr) Du hast Level 4 bestanden
6 5 <= 5 (wahr) Du hast Level 5 bestanden
7 6 <= 5 (falsch) außerhalb der while-Schleife

2. Wiederholen Sie dies während der Schleife

Diese Schleife wertet ihren Zustand am Ende jedes Durchlaufs durch die Schleife aus. Die Wiederholung… while-Schleife ähnelt der while-Schleife mit einem Schlüsseldifferenz. Der Wiederholungskörper… while-Schleife wird einmal ausgeführt, bevor der Testausdruck überprüft wird.

Die Syntax von repeat… while-Schleife lautet:

 repeat ( // statements… ) while (testExpression)

Wie wiederholen … während die Schleife funktioniert?

Der Wiederholungskörper… while-Schleife wird einmal ausgeführt (bevor der Testausdruck überprüft wird). Nur dann wird testExpression überprüft.

Wenn testExpression als true ausgewertet wird, werden Anweisungen im Rumpf der Schleife ausgeführt und testExpression erneut ausgewertet. Dieser Vorgang wird fortgesetzt, bis testExpression auf ausgewertet wird false.

Wenn testExpression aktiviert ist false, wird die Schleife repeat… while beendet.

Flussdiagramm der Wiederholung… während der Schleife

Beispiel 2: Wiederholen Sie die while-Schleife

 var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true repeat ( //play game if gameCompleted ( print("You have passed level (currentLevel)") currentLevel += 1 ) ) while (currentLevel <= finalLevel) print("outside of repeat while loop") 

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Sie haben Level 0 bestanden. Sie haben Level 1 bestanden. Sie haben Level 2 bestanden. Sie haben Level 3 bestanden. Sie haben Level 4 bestanden. Sie haben Level 5 außerhalb der Wiederholungsschleife bestanden 

Im obigen Beispiel werden die Anweisungen in der Schleife zum ersten Mal ausgeführt. Und für die nächste Iteration wird der Zustand überprüft currentLevel <= finalLevel.

Wenn die Bedingung zurückgegeben wird true, werden Anweisungen innerhalb der while-Schleife ausgeführt, andernfalls wird die Schleife beendet.

Ausführungsschritte
Wiederholung Bedingung (currentLevel <= finalLevel) Ausgabe
1 0 <= 5 (wahr) Du hast Level 0 bestanden
2 1 <= 5 (wahr) Du hast Level 1 bestanden
3 2 <= 5 (wahr) Du hast Level 2 bestanden
4 3 <= 5 (wahr) Du hast Level 3 bestanden
5 4 <= 5 (wahr) Du hast Level 4 bestanden
6 5 <= 5 (wahr) Du hast Level 5 bestanden
7 6 <= 5 (falsch) außerhalb der Wiederholung während Schleife

Obwohl beide whileund die repeat whileSchleife dieselben Ausführungsschritte haben, wird die Bedingung currentLevel <= finalLevel für die repeat whileSchleife erst ausgeführt, nachdem die darin enthaltenen Anweisungen ausgeführt wurden.

In whilewird die Bedingung jedoch zu Beginn überprüft, bevor die darin enthaltenen Anweisungen ausgeführt werden.

3. Endlos während der Schleife

Wenn der Testausdruck niemals ausgewertet wird, falsewird der Body von whileund die repeat… whileSchleife unendlich oft ausgeführt.

Beispiel 3: Endlos während der Schleife

 while (true) ( print("Hello, World!") )
 repeat ( print("Hello, World!") ) while (true)

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

Hallo Welt! Hallo Welt!…

Wenn Sie das Programm ausführen, führt beide Schleife die print("Hello, World!")Anweisung unendlich oft aus. Sie können also eine kontinuierliche Ausgabe sehen. Hallo, Welt! in der Konsole.

Interessante Beiträge...