Die beiden Anweisungen break und continue dienen dazu, den Ablauf einer Schleife gezielt zu beeinflussen. Sie werden häufig in while- und for-Schleifen verwendet, um bestimmte Situationen gezielt zu behandeln, ohne die gesamte Schleifenbedingung zu ändern.
Mit break eine Schleife sofort beenden
Die Anweisung break beendet die Schleife sofort, unabhängig davon, ob die Schleifenbedingung noch true ist. Das Programm setzt danach mit der nächsten Anweisung nach der Schleife fort.
Beispiel 1 – break in einer while-Schleife
int i = 1;
while (i <= 10)
{
if (i == 5)
break; // Schleife wird bei i == 5 beendet
System.out.println(i);
i++;
}
System.out.println("Ende der Schleife");
Ausgabe:
1 2 3 4 Ende der Schleife
Die Schleife läuft bis i den Wert 5 erreicht. Ist das der Fall, wird break ausgeführt und die Schleife sofort verlassen.
Beispiel 2 - break in einer for-Schleife
for (int i = 1; i <= 10; i++)
{
if (i * i > 30)
break;
System.out.println(i + "² = " + (i * i));
}
System.out.println("Berechnung beendet");
Hier wird die Schleife abgebrochen, sobald das Quadrat größer als 30 ist. Somit werden nur die Zahlen 1 bis 5 ausgegeben.
Break und return
Mit break kann man also Schleifen jederzeit verlassen. Es wird dann mit dem ersten Befehl weitergemacht, der nach der Schleife kommt. Die Methode, in der sich die Schleife befindet, wird mit break aber nicht verlassen. Das ist der wichtigste Unterschied zum return-Befehl. Mit dem return-Befehl verlässt man nicht die die while- oder for-Schleife sofort, sondern auch die gesamte Methode mit der Schleife.
Mit continue den aktuellen Schleifendurchlauf überspringen
Mit der Anweisung continue wird der aktuelle Schleifendurchlauf abgebrochen, die Schleife läuft aber mit der nächsten Iteration weiter. Das heißt: Alles, was im Schleifenkörper nach der continue-Anweisung steht, wird übersprungen.
Beispiel 3 - continue in einer for-Schleife
for (int i = 1; i <= 10; i++)
{
if (i % 2 == 0)
continue; // geraden Zahlen überspringen
System.out.println(i);
}
Ausgabe:
1 3 5 7 9
Hier werden nur die ungeraden Zahlen ausgegeben. Immer wenn i gerade ist, wird der Rest des Schleifenkörpers übersprungen.
Beispiel 4 – continue in einer while-Schleife
int i = 0;
while (i < 10)
{
i++;
if (i == 5)
continue; // Zahl 5 wird ausgelassen
System.out.println(i);
}
Ausgabe:
1 2 3 4 6 7 8 9 10
In diesem Beispiel wird die Zahl 5 übersprungen, weil bei i == 5 die continue-Anweisung den Rest der Schleife (die Ausgabe) überspringt.
Zusammenfassung
- break beendet die gesamte Schleife sofort.
- continue beendet nur den aktuellen Schleifendurchlauf.
- Beide Anweisungen können in while-, for- und do-while-Schleifen eingesetzt werden.
- Sie sollten sparsam verwendet werden, da sie den Programmablauf weniger übersichtlich machen können.
Break und continue in einer Schleife
Beispiel 5 – Kombination von break und continue
for (int i = 1; i <= 10; i++)
{
if (i == 3)
continue; // 3 überspringen
if (i == 8)
break; // bei 8 Schleife beenden
System.out.println(i);
}
Ausgabe:
1 2 4 5 6 7
Die Zahl 3 wird ausgelassen, und bei 8 endet die Schleife vollständig.
Merke:
Break und continue
break verlässt die Schleife, continue überspringt nur den Rest des aktuellen Schleifendurchlaufs.
Quellen:
- Balzert: Java: Der Einstieg in die Programmierung, 5. Auflage 2022
- Barnes, Kölling. Java Lernen mit BlueJ - Objects first - Eine Einführung in Java. Pearson Education 2017.
- Pohl, McDowell: Java by Disscetion, University of California, Santa Cruz 2006.
- Ullenboom: Java ist auch eine Insel - Einführung, Ausbildung, Praxis, Rheinwerk Computing 2024.