English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Artikel werden Sie lernen, wie man mit dem continue-Statement die Kontrolle des Programms überträgt.
Bei der Verwendung von Loops oder Bedingungsanweisungen kann es notwendig sein, bestimmte Anweisungen im Loop zu überspringen oder den Loop sofort zu beenden, ohne den Testausdruck zu überprüfen.
In diesem Fall werden break und continue-Statement verwendet. Besuchen Sie diese Seite, um mehr überbreak-StatementMehr Informationen.
Das continue-Statement stoppt die Ausführung des Loops oder der Anweisungen im switch-Statement. Anschließend springt es zurück zur Wiederverwendung des Testausdrucks des Loops.
Die Syntax des continue-Statements ist:
continue
for i in 1...5 { if i == 4 { continue } print("i = \(i)") }
When running this program, the output is:
i = 1 i = 2 i = 3 i = 5
Im obigen Programm ist der Bereich der zu iterierenden Sequenz1bis5.
Der Wert von i wird auf range() gesetzt1) des ersten Numbers und aktualisiert ihn bei jeder Iteration auf die nächste Nummer im Bereich.
Der Loop enthält auch den Ausdruck i = = 4der if-Anweisung. Wenn der Ausdruck den Wert true ergibt (im4mal Iteration ausgeführt wird, überspringt es die Ausführung der Anweisung print("i = \(i)") und springt zur nächsten Iteration (i = 5)。
var intialLevel:Int = -5, finalLevel:Int = 2 var currentLevel:Int = intialLevel while currentLevel < finalLevel { if intialLevel < 0 { print("Die Startebene muss eine positive Zahl sein") intialLevel = 0 currentLevel = intialLevel continue //Überspringen der aktuellen Ausführung } currentLevel += 1 print("next level") } print("Außerhalb des while-Loops")
When running this program, the output is:
Die Startebene muss eine positive Zahl sein next level next level Außerhalb des while-Loops
Im obigen Programm läuft der while-Loop bis currentLevel kleiner finalLevel. Da der Wert der intialLevel zugewiesen ist-5und kleiner 0, daher wird die interne if-Anweisung ausgeführt.
Wenn das Programm den continue-Anweisung erreicht, überspringt es die Anweisungen im while-Loop und überprüft erneut die Bedingung currentLevel<finalLevel.
for j in 1...2 { for i in 1...5 { if i == 4 { continue } print("i = \(i)") } print("j = \(j)") }
When running this program, the output is:
i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5
Im obigen Programm, wenn i==4Das continue-Anweisung überspringt nur die Ausführung der Anweisung print("i=\(i)") im inneren for-Loop. Es überspringt jedoch nicht 1...5 Die Ausführung des äußeren Loops.
Aber was, wenn Sie auch den äußeren Loop mit continue haben möchten? Dafür müssen Sie im Swift labeled Statements verwenden.
Anweisungen mit dem Präfix (label: Statement) werden als labeled Statements bezeichnet. Ein Label ist ein Bezeichner, den Sie später in break- oder continue-Anweisungen referenzieren können.
Hier ist label ein Bezeichner. Wenn der continue-Anweisung ausgeführt wird, springt das Programm über den Rest des For-Loops und überspringt zur Anweisung, die am label beginnt.
outerloop: for j in 1...2 { innerloop: for i in 1...5 { if i == 4 { continue outerloop } print("i = \(i)") } print("j = \(j)") }
When running this program, the output is:
i = 1 i = 2 i = 3 i = 1 i = 2 i = 3
In the above program, there are two labeled statements outerloop: for j in 1...2 and innerloop: for i in 1...5.
The label names outerloop and innerloop can be used with the continue statement.
In the program, we used the continue outerloop statement to skip the execution of statements in the inner and outer loops. During this process, the values of i and j will be updated to the next number in the range.