1. Schleifen in unserem Leben
Sehr oft erfordert unser Leben, dass wir die gleichen Handlungen viele Male ausführen. Angenommen, ich muss ein Dokument scannen, das aus vielen Seiten besteht. Dass wir den gleichen Vorgang immer wieder wiederholen:
- Legen Sie die erste Seite auf den Scanner
- Drücken Sie die Scan-Taste
- Legen Sie die nächste Seite auf den Scanner
Dies ist manuell nur schwer zu bewerkstelligen. Es wäre schön, wenn dieser Prozess irgendwie automatisiert werden könnte.
Oder betrachten Sie ein anderes Beispiel: Nehmen wir an, ich möchte alle ungelesenen E-Mails in meinem Posteingang als Spam markieren. Früher musste ich jede E-Mail einzeln auswählen und als Spam markieren.
Aber Programmierer sind faul, deshalb haben sie diesen Prozess schon vor langer Zeit automatisiert: Jetzt wählen Sie einfach eine beliebige Liste von Briefen aus und klicken auf „Als Spam markieren“, und dann geht Ihr E-Mail-Client die Liste durch und verschiebt jede E-Mail in den Spam-Ordner.
Was können wir hier sagen? Es ist super praktisch, wenn ein Computer oder ein Programm mit einem Klick Hunderte oder Tausende monotoner Vorgänge ausführen kann. Und jetzt erfahren Sie auch, wie das geht.
2. while
Schleife
Die if-else-Anweisung hat unsere Programmierfähigkeiten erheblich erweitert und es ermöglicht, Programme zu schreiben, die in verschiedenen Situationen unterschiedliche Aktionen ausführen. Aber es gibt noch etwas, das unsere Programme um eine Größenordnung leistungsfähiger machen wird – Schleifen .
Java verfügt über vier Arten von Schleifen : while
, und . Wir werden uns nun mit dem allerersten davon befassen.for
for-each
do-while
Eine while
Schleife ist sehr einfach. Es besteht nur aus zwei Teilen: einer Bedingung und einem Schleifenkörper . Der Schleifenkörper wird immer wieder ausgeführt, solange die Bedingung erfüllt ist true
. Im Allgemeinen while
sieht eine Schleife so aus:
while (condition)
statement;
while (condition)
{
block of statements
}
Es ist sehr einfach. Die Anweisung oder der Anweisungsblock wird immer wieder ausgeführt, solange die Schleifenbedingung gleich ist true
.
So funktioniert es: Zunächst wird die Bedingung überprüft. Wenn es wahr ist, wird der Schleifenkörper ausgeführt (die Anweisung oder der Anweisungsblock ). Anschließend wird die Bedingung erneut überprüft und der Schleifenkörper erneut ausgeführt. Und so weiter, bis die Bedingung falsch wird.
Wenn die Bedingung immer wahr ist , wird die Ausführung des Programms nie gestoppt. Es bleibt dauerhaft in der Schleife hängen.
Wenn die Bedingung beim allerersten Mal falsch ist , wird der Schleifenkörper kein einziges Mal ausgeführt.
3. Beispiele für Schleifen
Hier sind einige praktische Beispiele für Schleifen in Aktion.
Code | Erläuterung |
---|---|
|
Auf dem Bildschirm werden 5 Zeilen angezeigt:
|
Code | Erläuterung |
---|---|
|
Auf dem Bildschirm werden 10 Zeilen angezeigt:
|
Code | Erläuterung |
---|---|
|
Das Programm liest Zahlen von der Tastatur, solange Zahlen eingegeben werden. |
Code | Erläuterung |
---|---|
|
Das Programm druckt den Brief endlosC auf dem Bildschirm aus. |
Code | Erläuterung |
---|---|
|
Das Programm liest Zeilen von der Tastatur
bis |
Im vorherigen Beispiel equals()
wird die Methode zum Vergleichen von Zeichenfolgen verwendet. Wenn die Zeichenfolgen gleich sind, gibt die Funktion zurück true
. Wenn die Zeichenfolgen nicht gleich sind, wird zurückgegeben false
.
4. Schleife innerhalb einer Schleife
Als Sie etwas über bedingte Anweisungen gelernt haben, haben Sie gesehen, dass Sie damit komplexe Logik implementieren können, indem Sie mehrere bedingte Anweisungen kombinieren. Mit anderen Worten: durch die Verwendung einer if
Anweisung innerhalb einer if
Anweisung.
Das Gleiche können Sie auch mit Schleifen machen. Um eine Schleife innerhalb einer Schleife zu schreiben, müssen Sie die zweite Schleife in den Hauptteil der ersten Schleife schreiben. Es wird ungefähr so aussehen:
while (condition for outer loop)
{
while (condition for inner loop)
{
block of statements
}
}
Schauen wir uns drei Aufgaben an.
Aufgabe 1 . Nehmen wir an, wir möchten ein Programm schreiben, das das Wort Mom
viermal auf dem Bildschirm anzeigt. Eine Schleife ist genau das, was wir brauchen. Und unser Code wird in etwa so aussehen:
Code | Erläuterung |
---|---|
|
Auf dem Bildschirm werden 4 Zeilen angezeigt:
|
Aufgabe 2 . Wir wollen ein Programm schreiben, das 5 Buchstaben A
s in einer einzigen Zeile anzeigt. Dazu benötigen wir noch einmal eine Schleife. So sieht der Code aus:
Code | Erläuterung |
---|---|
|
Anstelle von println() verwenden wir print() . Andernfalls A würde jeder Buchstabe in einer separaten Zeile landen. Die Bildschirmausgabe wird sein:
|
Aufgabe 3 . Wir möchten ein Rechteck anzeigen, das aus den Buchstaben A
s besteht. Das Rechteck sollte aus 4 Zeilen mal 5 Spalten bestehen. Um dies zu erreichen, benötigen wir nun eine verschachtelte Schleife. Wir nehmen einfach unser erstes Beispiel (das, in dem wir 4 Zeilen ausgeben) und ersetzen den Code für die Ausgabe einer Zeile durch den Code aus dem zweiten Beispiel.
Code | Erläuterung |
---|---|
|
Die äußere Schleife ist lila. Es verwendet die n Variable, um die Anzahl der Iterationen der Schleife zu zählen. Die innere Schleife ist grün. Es verwendet die m Variable, um die Anzahl der Schleifeniterationen zu zählen. Wir müssen den Cursor explizit in die nächste Zeile bewegen, nachdem die innere Schleife abgeschlossen ist. Andernfalls landen alle Buchstaben, die das Programm druckt, in einer Zeile. Die Bildschirmausgabe wird sein:
|
Die äußere und die innere Schleife müssen unterschiedliche Variablen verwenden, um die Anzahl der Schleifeniterationen zu zählen. Wir mussten den System.out.println()
Befehl auch nach der inneren Schleife hinzufügen, da diese Schleife den Buchstaben A
s in derselben Zeile anzeigt. Sobald die Buchstaben einer Zeile angezeigt werden, muss jemand den Cursor in eine neue Zeile bewegen.
5. Vergleich der Schleifen Java und Pascal
Viele von Ihnen haben Pascal in der High School studiert. Um Ihnen das Verständnis des Materials hier zu erleichtern, werfen Sie einen Blick auf diesen Vergleich von while
in Pascal und Java geschriebenen Schleifen. Wenn Sie Pascal nicht kennen, überspringen Sie diesen Teil einfach.
Pascal | Java |
---|---|
|
|
|
|
|
|
|
|
|
|
GO TO FULL VERSION