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

Java-Grundlagen-Tutorial

Java Flusskontrolle

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java-Exception-Handhabung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map-Kollektion

Java Set-Kollektion

Java Ein- und Ausgabemodul (I/O)

Reader in Java/Writer

Andere Themen in Java

Java-break-Anweisung

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;

Wie funktioniert der break?

Detaillierter Ablaufplan der Java break-Anweisung

Beispiel1:Java break-Anweisung

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.

Beispiel2:Java break-Anweisung

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.

Java-Abbrüche und verschachtelte Zyklen

FürVerschachtelte ZyklenDer Break-Befehl beendet den innersten Zyklus.

Arbeitsablaufdiagramm des Break-Befehls in verschachtelten Zyklen

Hier beendet der Break-Befehl den innersten While-Zyklus und der Kontrollfluss springt zum äußeren Zyklus.

Markierter Break-Befehl

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.

Arbeitsablaufdiagramm des markierten Break-Befehls in Java

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.

Beispiel3Markierter Break-Befehl

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.