1. breakAussage
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 exiteingegeben wird. Wenn Sie dieses Wort eingeben, wird die isExit Variable zu true, die Schleifenbedingung lautet und die Schleife wird beendet.!isExitfalse
Java verfügt über eine spezielle breakAnweisung, mit der Sie diese Logik vereinfachen können. Wenn eine breakAnweisung 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 breakAnweisung 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 breaknicht die einzige Java-Anweisung, mit der Sie das Verhalten einer Schleife steuern können. Java hat auch die continueAnweisung. 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 continueAnweisung unterbricht die aktuelle Iteration der Schleife, breakbeendet aber im Gegensatz zur Anweisung nicht die Schleife selbst. Die Aussage ist auch kurz:
continue;
Die continueAnweisung 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 1bis ausgibt 20, aber Zahlen überspringt, die durch teilbar sind 7. So könnte dieser Code aussehen.
| Code | Erläuterung |
|---|---|
|
Das Programm zeigt Zahlen von 1bis an 20. Wenn die Zahl durch teilbar ist 7(der Rest der Division durch 7ist 0), überspringen wir die Anzeige der Zahl. |
Tatsächlich wird dieser Code nicht funktionieren , da ier 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 inicht 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 imuss der Startwert sein 0.
| Option 1 | Option 2 |
|---|---|
|
|
GO TO FULL VERSION