English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Tutorial lernen Sie, wie man mit break Zyklen beendet. Außerdem werden Sie den break-Tag kennenlernen.
Angenommen, Sie verwenden einen Zyklus. Manchmal möchten Sie den Zyklus sofort beenden, ohne die Testausdrucksbedingung zu überprüfen.
In diesem Fall kann break verwendet werden. Wenn break erreicht wird, wird der nächste abgeschlossene Zyklus beendet (ohne die Testausdrucksbedingung zu überprüfen). Dies ist ähnlich wieDie Art und Weise, wie das break-Statement in Java funktioniert
es wird fast immer mitif..else gemeinsam verwenden. Zum Beispiel,
for (...) { if (testExpression) { break } }
Wenn if testExpression auf true ausgewertet wird, führt break die Beendigung der for-Schleife aus.
fun main(args: Array<String>) { 1..10) { if (i == 5) { break } println(i) } }
Wenn Sie das Programm ausführen, lautet die Ausgabe:
1 2 3 4
wenn der Wert von i等于5wenn i == 5Wenn der Wert im if intern true berechnet wird, wird break ausgeführt, um die for-Schleife zu beenden. Dies wirdfor-Schleife
Das folgende Programm berechnet die Summe der von Benutzer eingegebenen Zahlen, bis der Benutzer 0 eingibt.
ZugriffKotlin Grundlagen von Ein- und Ausgabeum mehr über die Eingabe vom Benutzer zu erfahren.
fun main(args: Array<String>) { var sum = 0 var number: Int while (true) { print("Geben Sie eine Zahl ein:") number = readLine()!!.toInt() if (number == 0) break sum += number } print("sum = $sum") }
Wenn Sie das Programm ausführen, lautet die Ausgabe:
Geben Sie eine Zahl ein: 4 Geben Sie eine Zahl ein: 12 Geben Sie eine Zahl ein: 6 Geben Sie eine Zahl ein: -9 Geben Sie eine Zahl ein: 0 sum = 13
Im obigen Programm ist der Testausdruck der while-Schleife stets true.
Hierbei läuft die while-Schleife bis der Benutzer 0 eingibt. Wenn der Benutzer 0 eingibt, wird break ausgeführt und die while-Schleife wird beendet.
Bisher haben Sie das break ohne Label gelernt, das die nächste umschließende Schleife beendet. break kann auch auf eine andere Weise (mit Label) verwendet werden, um die benötigte Schleife (kann eine äußere Schleife sein) zu beenden.
Labels in Kotlin werden mitIdentifikatoram Anfang gefolgt von @.
Hierbei ist test@ außenin einer while-SchleifeMarkierte Labels. Jetzt kann durch die Verwendung eines markierten breaks (im vorliegenden Fall break @test) eine spezifische Schleife unterbrochen werden.
fun main(args: Array<String>) { first@ für (i in 1..4) { second@ for (j in 1..2) { println("i = $i; j = $j") if (i == 2) break@first } } }
Wenn Sie das Programm ausführen, lautet die Ausgabe:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Hierbei ist i == 2Wenn das Ergebnis der Ausdrucksberechnung true ist, wird break@first ausgeführt, um die mit first@ markierte Schleife zu beenden.
Dies sind einige Varianten des obigen Programms.
Im folgenden Programm wird break das mit dem Label @second markierte Schleifenende beendet.
fun main(args: Array<String>) { first@ für (i in 1..4) { second@ for (j in 1..2) { println("i = $i; j = $j") if (i == 2) break@second } } }
Wenn Sie das Programm ausführen, lautet die Ausgabe:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1 i = 3; j = 1 i = 3; j = 2 i = 4; j = 1 i = 4; j = 2
Hinweis:Da break im Programm verwendet wird, um den innersten Schleifen zu beenden, ist in diesem Fall ein gekennzeichnetes break nicht erforderlich.
Kotlin hat3Eine strukturelle Sprungausdrücke: break, continue und return.