1. break
Aussage
Schauen wir uns ein Beispiel aus der vorherigen Lektion an:
Code | Erläuterung |
---|---|
|
Das Programm liest eine Zeile von der Tastatur, bis Sie Folgendes eingeben "exit" . |
Das Programm liest Zeilen von der Konsole, bis das Wort exit
eingegeben wird. Wenn Sie dieses Wort eingeben, wird die isExit
Variable zu true
, die Schleifenbedingung lautet und die Schleife wird beendet.!isExit
false
Java verfügt über eine spezielle break
Anweisung, mit der Sie diese Logik vereinfachen können. Wenn eine break
Anweisung innerhalb einer Schleife ausgeführt wird, endet die Schleife sofort. Das Programm beginnt mit der Ausführung der Anweisung, die auf die Schleife folgt. Die Aussage ist sehr kurz:
break;
So können Sie die break
Anweisung verwenden, um das gerade besprochene Beispiel umzuschreiben:
Code | Erläuterung |
---|---|
|
Das Programm liest eine Zeile von der Tastatur, bis Sie Folgendes eingeben "exit" . |
2. continue-Anweisung
Dies ist jedoch break
nicht die einzige Java-Anweisung, mit der Sie das Verhalten einer Schleife steuern können. Java hat auch die continue
Anweisung. Wenn Sie eine Anweisung innerhalb einer Schleife ausführen continue
, wird die aktuelle Iteration der Schleife vorzeitig beendet.
Das einmalige Ausführen des Schleifenkörpers wird als Iteration der Schleife bezeichnet. Die continue
Anweisung unterbricht die aktuelle Iteration der Schleife, break
beendet aber im Gegensatz zur Anweisung nicht die Schleife selbst. Die Aussage ist auch kurz:
continue;
Die continue
Anweisung ist in einer Schleife sehr praktisch, wenn wir in bestimmten Situationen die Ausführung des Schleifenkörpers „überspringen“ möchten.
Aufgabe: Wir wollen ein Programm schreiben, das Zahlen von 1
bis ausgibt 20
, aber Zahlen überspringt, die durch teilbar sind 7
. So könnte dieser Code aussehen.
Code | Erläuterung |
---|---|
|
Das Programm zeigt Zahlen von 1 bis an 20 . Wenn die Zahl durch teilbar ist 7 (der Rest der Division durch 7 ist 0 ), überspringen wir die Anzeige der Zahl. |
Tatsächlich wird dieser Code nicht funktionieren , da i
er für immer an der Nummer hängen bleibt 7
. Schließlich continue
überspringt die Anweisung zwei weitere Anweisungen: System.out.println(i)
und i++
. Sobald wir den Wert erreichen 7
, ändert sich die Variable i
nicht mehr und wir befinden uns in einer Endlosschleife.
Wir haben den Code absichtlich so geschrieben, um diesen sehr häufigen Fehler zu veranschaulichen. Wie beheben wir das Problem?
Hier gibt es zwei Möglichkeiten:
Option 1:i
Vor der Ausführung ändern continue
, aber danachi % 7
Option 2:i
Immer am Anfang der Schleife erhöhen . Aber dann i
muss der Startwert sein 0
.
Option 1 | Option 2 |
---|---|
|
|