Java Schnellstart – Break/Continue

In dieser Lektion lernst du die Schlüsselwörter break und continue kennen, um deinen Schleifen mehr Flexibilität zu verleihen.

Bei der Benutzung von Schleifen kommt es häufig vor, dass diese nicht bis zum Ende durchlaufen sollen. Laufen wir zum Beispiel in einer For-Schleife einen 1000-Meter-Lauf und entscheiden uns dann doch auf die Couch zu gehen, können wir den Lauf abbrechen. Ein weiteres Beispiel kommt zum Tragen, wenn wir bestimmte Schleifendurchläufe überspringen möchten.

Break-Schlüsselwort

Wenn die break-Anweisung in einer Schleife verwendet wird, dann wird die Schleife sofort beendet. Der Programmablauf wird bei der nächsten Anweisung nach der Schleife fortgesetzt.

Im Code sieht das break-Statement so aus:

while(Bedingung1)
{
	if(Bedingung2)
	{
		break; // Die Schleife wird abgebrochen
               System.out.println("TEST"); // Dieser Code wird nicht mehr ausgeführt
	}
}
// Hier geht es weiter, wenn Bedingung1 "false" ist oder die Schleife im Code mit "Break" abgebrochen wird

Natürlich kannst du die break-Anweisung auch ohne If-Verzweigung benutzen, aber meistens wird diese in Verbindung mit "If" verwendet. Der Grund dafür ist, dass du dadurch eine Abbruchbedingung prüfen kannst.

Verwendest du das Schlüsselwort break innerhalb verschachtelter Schleifen, so wird nur eine Schleife abgebrochen - und zwar die Schleife, in dessen Code-Block das break-Schlüsselwort vorkommt.

// Schleife 1
while(bedingung1)
{
	// Schleife 2
	while(bedingung2)
	{
		if(bedingung3)
		{
			break; // Schleife 2 wird beendet
		}
	}
}

Java Continue-Schlüsselwort

Während break eine Schleife komplett beendet, wird bei dem Schlüsselwort continue nur der aktuelle Schleifendurchlauf übersprungen.

Verdeutlichung: Stell dir vor, du möchtest alle Zahlen von 1 bis 100 ausgeben, welche nicht durch 8 teilbar sind. Dies kannst du folgendermaßen lösen:

for(int i = 1; i <= 100; i++)
{
	if(i % 8 == 0)
	{
		continue;
	}

	System.out.println(i);
}

Erklärung: Im obigen Code prüfen wir über den Modulo-Operator, ob die Zahl durch 8 teilbar ist. Ist diese durch 8 teilbar, so überspringen wir mit continue den aktuellen Schleifendurchlauf. Der Befehl System.out.println() in diesem Fall nicht mehr aufgerufen (übersprungen).

Code-Aufgabe: Alle Zahlen ausgeben, die durch die Zahl 3 teilbar sind.

Deine Aufgabe:

  1. Gib im Zahlenraum von 0 bis 1000 alle Zahlen als Text aus, die durch drei teilbar sind (z.B. 3, 6, 9, 12 usw.).
  2. Sollte eine Zahl durch drei UND auch durch 73 teilbar sein, soll die Schleife komplett abgebrochen werden. Die Lösung findest du unter dem Editor.

Code-Editor:

[lp_spoiler title="Lösung anzeigen" class="da"]

class Main {
  public static void main(String[] args) {
    for(int i = 1; i <= 1000; i++)
    {
      if(i % 3 != 0)
      {
        // Wenn die Zahl nicht durch Drei teilbar ist, dann continue
        continue;
      }
      else if(i % 73 == 0)
      {
        // Die Zahl ist zwar durch Drei teilbar, aber auch durch
        // 73 d.h. die komplette Schleife soll abgebrochen werden
        break;
      }
      else
      {
        // Ist die Zahl durch Drei teilbar und nicht durch 73
        // Dann gib die Zahl aus
        System.out.println(i);
      }
    }
  }
}
Code ausprobieren ×

[/lp_spoiler]

Fazit zu Break & Continue

Die beiden Schlüsselwörter "break" und "continue" bieten dir viel Flexibilität in deinen Schleifen. Besonders häufig wirst du auf die Schlüsselwörter bei mathematischen Operationen oder Suchalgorithmen stoßen.