1. Schleifen vergleichen: for
vswhile
Eine while
Schleife kann überall dort eingesetzt werden, wo eine Anweisung oder eine Gruppe von Anweisungen mehrmals ausgeführt werden muss. Unter all den möglichen Szenarien ist jedoch eines hervorzuheben.
Wir sprechen von einer Situation, in der der Programmierer (der Ersteller des Programms) im Voraus weiß, wie oft die Schleife ausgeführt werden soll. Dies geschieht normalerweise durch die Deklaration einer speziellen Zählervariablen und die anschließende Erhöhung (oder Verringerung) der Variablen um bei 1
jedem Durchlauf der Schleife.
Alles scheint so zu funktionieren, wie es sollte, aber es ist nicht sehr praktisch. Vor der Schleife legen wir den Anfangswert der Zählervariablen fest. Anschließend prüfen wir in der Bedingung, ob der Endwert bereits erreicht ist. Normalerweise ändern wir den Wert jedoch ganz am Ende des Schleifenkörpers.
Und was ist, wenn der Schleifenkörper groß ist? Oder wenn wir mehrere verschachtelte Schleifen haben? Im Allgemeinen ist es in diesen Fällen wünschenswert, alle Informationen über Zählervariablen an einem Ort zu sammeln. Und deshalb haben wir die for
Schleife in Java. Es sieht auch nicht sehr kompliziert aus:
for (statement 1; condition; statement 2)
{
block of statements
}
Eine while
Schleife hat nur eine Bedingung in Klammern, aber eine for
Schleife fügt zwei Anweisungen hinzu, die durch Semikolons getrennt sind.
Die Realität ist einfacher als sie klingt: Der Compiler wandelt eine for
Schleife while
wie folgt in eine gewöhnliche Schleife um:
statement 1;
while (condition)
{
block of statements
statement 2;
}
Oder noch besser: Lassen Sie uns dies anhand eines Beispiels demonstrieren. Die beiden folgenden Codeausschnitte sind identisch.
Option 1 | Option 2 |
---|---|
|
|
Wir haben gerade den gesamten Code, der sich auf die i
Zählervariable bezieht, an einem Ort gesammelt.
In einer for
Schleife wird Anweisung 1 nur einmal ausgeführt, bevor die Schleife selbst beginnt. Dies ist im zweiten Codeausschnitt deutlich zu erkennen
Anweisung 2 wird genauso oft ausgeführt wie der Schleifenkörper, und zwar jedes Mal, nachdem der gesamte Schleifenkörper ausgeführt wurde
2. Wo die for
Schleife verwendet wird
Die for
Schleife ist wahrscheinlich der am häufigsten verwendete Schleifentyp in Java. Es wird überall verwendet, für Programmierer ist es einfach übersichtlicher und bequemer als eine while
Schleife. Praktisch jede while
Schleife kann in eine for
Schleife umgewandelt werden.
Beispiele:
while-Schleife | for-Schleife |
---|---|
|
|
|
|
|
|
|
|
|
|
Achten Sie auf das letzte Beispiel. Es fehlen die Anweisungen zum Arbeiten mit dem Schleifenzähler. Es gibt keinen Zähler und keine Aussage.
In einer for
Schleife können Sie in Java die „Anweisung zum Initialisieren des Zählers“ und die „Anweisung zum Aktualisieren des Zählers“ weglassen. Sogar der Ausdruck, der die Schleifenbedingung definiert, kann weggelassen werden.
3. Nuancen der Verwendung der for
Schleife
Ein wichtiger Punkt bei der Verwendung von for
Schleifen und break
und- continue
Anweisungen.
Eine break
Anweisung in einer for
Schleife funktioniert genauso wie in einer while
Schleife – sie beendet die Schleife sofort. Eine continue
Anweisung überspringt den Schleifenkörper, jedoch nicht statement 2
(wodurch sich der Schleifenzähler ändert).
Schauen wir uns noch einmal an, wie for
und- while
Schleifen zusammenhängen.
for (statement 1; condition; statement 2)
{
block of statements
}
statement 1;
while (condition)
{
block of statements
statement 2;
}
Wenn eine Anweisung in einer continue
for
Schleife ausgeführt wird , wird der Rest des Anweisungsblocks übersprungen, Anweisung 2 (diejenige, die mit der for
Zählervariablen der Schleife arbeitet) wird jedoch weiterhin ausgeführt.
Kehren wir zu unserem Beispiel zurück und überspringen Zahlen, die durch 7 teilbar sind.
Dieser Code wird für immer wiederholt | Dieser Code wird gut funktionieren |
---|---|
|
|
Der Code, der die while
Schleife verwendet, wird nicht funktionieren – i wird nie größer als 7 sein. Aber der Code mit der for
Schleife wird gut funktionieren.
4. Vergleich von for-Schleifen: Java vs. Pascal
Pascal hat übrigens auch eine For
Schleife. Im Allgemeinen hat praktisch jede Programmiersprache eine. Aber bei Pascal ist es super klar. Beispiele:
Pascal | Java |
---|---|
|
|
|
|
|
|
GO TO FULL VERSION