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