English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Tutorial lernen Sie anhand von Beispielen die break-Anweisung, die in Java als break-Anweisung markiert ist.
Bei der Verwendung von Schleifen möchten Sie manchmal bestimmte Anweisungen im Zyklus überspringen oder den Zyklus sofort beenden, ohne die Testbedingung zu überprüfen.
In diesem Fall werden die break- und continue-Anweisungen verwendet. Sie werden im nächsten Kapitel lernencontinue-Anweisung.
Der break beendet den Zyklus in Java sofort, und der Kontrollfluss des Programms wird zur nächsten Anweisung nach dem Zyklus verschoben.
Der break wird fast immer mit Entscheidungsanweisungen (Java if ... else-Anweisung)zusammen verwendet.
Das Syntax der break-Anweisung in Java ist:
break;
class Test { public static void main(String[] args) { // for-Schleife for (int i = 1; i <= 10; ++i) { //Wenn der Wert von i5wird, endet der Zyklus if (i == 5) { break; } System.out.println(i); } } }
Output:
1 2 3 4
Im obigen Programm verwenden wir die for-Schleife, um den Wert von i in jeder Iteration auszugeben. Um das Prinzip der for-Schleife zu verstehen, besuchen SieJava for-Schleife. Beachten Sie bitte die folgenden Anweisungen:
if (i == 5) { break; }
das bedeutet, dass der Wert von i gleich5wird, endet der Zyklus. Daher erhalten wir etwas, das kleiner ist als5der Ausgabewert.
Das folgende Programm berechnet die Summe der von Benutzer eingegebenen Zahlen, bis der Benutzer eine negative Zahl eingibt.
Um die Eingaben des Benutzers zu akzeptieren, haben wir das Scanner-Objekt verwendet. Weitere Informationen über Scanner finden Sie unterJava Scanner.
import java.util.Scanner; class UserInputSum { public static void main(String[] args) { Double number, sum = 0.0; //Scanner-Objekt erstellen Scanner input = new Scanner(System.in); while (true) { System.out.print("Geben Sie eine Zahl ein: "); //Zwei Male die Eingabe des Benutzers akzeptieren number = input.nextDouble(); //Wenn number eine negative Zahl ist, wird der Zyklus beendet if (number < 0.0) { break; } sum += number; } System.out.println("Sum = ", + sum); } }
Output:
Geben Sie eine Zahl ein: 3.2 Geben Sie eine Zahl ein: 5 Geben Sie eine Zahl ein: 2.3 Geben Sie eine Zahl ein: 0 Geben Sie eine Zahl ein: -4.5 Sum = 10.5
Im obigen Programm ist die Testbedingung des While-Zyklus immer true. Beachten Sie hier diese Zeile:
if (number < 0.0) { break; }
Das bedeutet, dass der While-Zyklus beendet wird, wenn der Benutzer eine negative Zahl eingibt.
FürVerschachtelte ZyklenDer Break-Befehl beendet den innersten Zyklus.
Hier beendet der Break-Befehl den innersten While-Zyklus und der Kontrollfluss springt zum äußeren Zyklus.
Bis jetzt haben wir den unmarkierten Break-Befehl verwendet. Er beendet den innersten Zyklus und die Switch-Anweisung. Aber in Java gibt es noch eine andere Form des Break-Befehls, die markierter Break-Befehl genannt wird.
Wir können auch den markierten Break-Befehl verwenden, um den äußeren Zyklus abzubrechen.
Wie im obigen Bild gezeigt, verwenden wir den Label-Bezeichner, um den äußeren Zyklus zu kennzeichnen. Beachten Sie nun, wie der Break-Befehl (break label;) verwendet wird.
Hier beendet der Break-Befehl den markierten Befehl (d.h. den äußeren Zyklus). Anschließend springt das Programm zu den Anweisungen nach dem angegebenen markierten Befehl.
Dies ist ein weiteres Beispiel:
while (testExpression) { // Code second: while (testExpression) { // Code while (testExpression) { // Code break second; } } //Kontrolle springt hierher }
In dem obigen Beispiel wird der Befehl break second; ausgeführt; nach Abschluss der Ausführung wird der nach "Second" markierte While-Zyklus beendet. Und der Kontrollfluss des Programms wird nach dem zweiten While-Zyklus auf diesen Befehl gelegt.
class LabeledBreak { public static void main(String[] args) { //Der for-Loop wird als first markiert first: for ( int i = 1; i < 5; i++) { //Der for-Loop wird als second markiert second: for (int j = 1; j < 3; j ++ ) { System.out.println("i = " + i + "; j = " +j); //Der Break-Befehl beendet den ersten For-Zyklus if ( i == 2) break first; } } } }
Output:
i = ; 1; j = ; 1 i = ; 1; j = ; 2 i = ; 2; j = ; 1
In dem obigen Beispiel wird der markierte Break-Befehl verwendet, um den nach "first" markierten Zyklus abzubrechen. Das ist
first: for (int i = 1; i < 5; i++) {...
Hier, wenn wir break first; in break second; ändern, wird das Verhalten des Programms unterschiedlich sein. In diesem Fall wird der als second markierte for-Loop beendet. Zum Beispiel,}}
class LabeledBreak { public static void main(String[] args) { //Der for-Loop wird als first markiert first: for ( int i = 1; i < 5; i++) { //Der for-Loop wird als second markiert second: for (int j = 1; j < 3; j ++ ) { System.out.println("i = " + i + "; j = " +j); //Der break-Befehl beendet den Loop, der als second markiert ist if ( i == 2) break second; } } } }
Output:
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
AchtungDer break-Befehl wird auch verwendet, um den case eines switch-Befehls abzubrechen. Für weitere Informationen besuchen Sie bitteJava-switch-Anweisung.