2.5.6 | break |
Mit der break-Anweisung kann die Ausführung von for-, while- und do-Schleifen vorzeitig abgebrochen werden. Auch die Ausführung von switch kann vorzeitig beendet werden.
Die folgende Schleife wird abgebrochen, sobald ein Array-Element den Wert
0 hat.
for(int i = 0; i < a.length; i++) {
if (a[i] == 0)
break;
// Verarbeitung von a[i]
}
break kann auch im Zusammenhang mit try-Blöcken verwendet werden,
die dazu dienen, Exceptions abzufangen. Die try-Anweisung wird ausführlich mit den Exceptions im Kapitel 5 beschrieben.
Falls break innerhalb einer try-Anweisung benutzt wird,
so wird der try-Block beendet und danach der zugehörige
finally-Block ausgeführt, sofern einer vorhanden ist.
Anschließend wird das Programm an der Stelle hinter try/finally
fortgesetzt. Im folgenden Beispiel wird noch eine Meldung ausgegeben,
wenn die Prüffunktion check false ergibt.
try {
...
if (!check(a))
break;
}
finally {
System.out.println("abgebrochen");
}
// Nach der Meldung geht's hier weiter
Mit einer break-Anweisung ist es auch möglich, die Ausführung nach dem Abbruch hinter einem übergeordneten Programmblock fortzusetzen. Hierzu muss dem betreffenden Programmblock eine Marke vorangestellt werden, die dann bei der break-Anweisung angegeben wird. Eine Marke hat die Form<Bezeichner>:Im folgenden Beispiel wird die while-Schleife unter Verwendung einer Marke abgebrochen, wenn ein Array-Element den Wert -1 hat. Falls es ein solches Element gibt, wird die Ausführung an Stelle 2 fortgesetzt. Würde man die Angabe der Marke demo in der break-Anweisung weglassen, dann würde die Ausführung an der Stelle 1 fortgesetzt.demo: { index = 0; while(index < a.length) { if (a[index++] == -1) break demo; } // Stelle 1 } // Stelle 2