Unterschied zwischen for- und while schleifen?

8 Antworten

Hast du nur Videos geguckt oder auch mal selbst etwas programmiert?

Du kannst ja mal versuchen, die ersten 10 Quadratzahlen auf dem Bildschirm auszugeben.

Das geht sowohl mit for als auch mit while.

Wenn du beides hingekriegt hast, kennst du den Unterschied (und die Gemeinsamkeiten).

Schachpapa  22.10.2021, 23:42

Es hängt natürlich auch von der Programmiersprache ab. In Java, C# etc. ist die for-Schleife eine komfortable While-Schleife. In Basic ist die for-Schleife eine reine Zählschleife (wenn ich es richtig in Erinnerung habe, ist schon länger her)

0

while läuft solange durch, wie eine Bedingung true ergibt. Das wars.

Eine for tut das selbe, aber bringt noch ein paar extras mit. Und zwar kannst du bei einer for eine Zahl hochzählen lassen, solange, bis die Bedingung erfüllt ist. Mit dem jeweiligen Wert kannst du dann Code umsetzen. Beispiel, du hast einen Array, also eine Speichereinheit, wo viele Werte drin sind. Mit while kannst du jetzt zwar auf die Länge prüfen, aber nicht die einzelnen Elemente zurückgeben. Mit for hingegen kannst du sagen gebe 0 zurück, 1, 2, 3 usw. solang wie halt der Array ist

Eine for Schleife führt einen Befehl aus solange bis es keine Parameter mehr gibt.

Beispiel wäre, für alle Autos die in Deutschland gerade fahren mache einen Stich auf einem Zettel.

Eine while Schleife führt einen Befehl aus solange eine Bedingung "True" ist

Beispiel: Solange ein Auto fährt mache jede Sekunde einen Strich auf einem Zettel.

Klassischerweise ist eine for-Schleife so gedacht, dass sie eine zuvor festgelegte Anzahl an Zyklen läuft. Etwa, um jedes Element eines Arrays/einer Liste durchzugehen. Eine while-Schleife ist da freier.

Gerade in Sprachen wie C lässt sich natürlich eine for-Schleife genauso als while-Schleife "missbrauchen".

Am Ende des Tages sollte for-Schleife, while-Schleife, do-while Schleife... in ihrem Funktionsumfang äquivalent und ineinander umwandelbar sein.

Die for-Schleife ist eine erweiterte while-Schleife. Anstatt nur die Bedingung anzugeben gibt es hier drei Felder: Start, Bedingung und Schritt.

Du kannst eine while-Schleife auch selbst umsetzen, benötigt aber mehr Zeilen und ist bei der Standard-Iteration über einen Array-Index mit mehr Aufwand verbunden.