Home > Informatik > Begriffe und Konzepte > break und continue

break- und continue-Anweisungen

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:

  1. Balzert: Java: Der Einstieg in die Programmierung, 5. Auflage 2022
  2. Barnes, Kölling. Java Lernen mit BlueJ - Objects first - Eine Einführung in Java. Pearson Education 2017.
  3. Pohl, McDowell: Java by Disscetion, University of California, Santa Cruz 2006.
  4. Ullenboom: Java ist auch eine Insel - Einführung, Ausbildung, Praxis, Rheinwerk Computing 2024.