for-Schleife

Aus ProgrammingWiki
Archivierte Version vom 2017-03-19T21:55:45+00:00. Aktuelle Version

Sehr oft müssen in einem Programm gleichartige Anweisungen wiederholt werden.

Beispiel:

Die Funktion print gibt auf der Konsole 5 mal das Wort "Guten Tag!" aus:

Das wiederholte Aufschreiben von Code ist sehr mühsam. Außerdem sind die so entstandenen Programme nicht sehr flexibel: Was machen wir z.B., wenn durch einen Parameter von außen vorgegeben werden soll, wie oft die Wiederholung ausgeführt wird?

Mit Hilfe der Kontrollstruktur for-Schleife können wir Wiederholungen bequemer formulieren (es gibt auch andere Arten von Schleifen, z.B. die while-Schleife, die wir hier aber nicht behandeln).

Die Funktion print lässt sich mit einer for-Schleife wie folgt schreiben:

Eine übliche allgemeine Notation einer for-Schleife sieht z.B. wie folgt aus:

for( var i = startwert; i < obergrenze; i++) {
   ...
}

Anstelle von ... werden die Anweisungen eingesetzt, die wiederholt werden sollen.

Die Anweisung i++ ist eine Abkürzung für die Anweisung i=i+1.

Eine for-Schleife durchläuft mehrere Iterationen.

Für das oben gezeigte Muster gilt:

  1. In der ersten Iteration hat i den Wert "startwert".
  2. Nach der Iteration wird der Wert von i um 1 erhöht ("i++").
  3. Danach wird geprüft, ob die Bedingung i<"obergrenze" erfüllt ist.
  4. Wenn die Bedingung erfüllt ist, wird eine weitere Iteration durchgeführt.
  5. Die Schritte 2 bis 4 werden wiederholt, bis die Bedingung i<"obergrenze" nicht mehr gilt. In diesem Fall wird die Schleife abgebrochen.

Sie können das an folgendem Beispiel nachvollziehen:

Für die for-Schleife gibt es verschiedene Variationen:

  • Sie dürfen anstelle von "i" andere Variablennamen einsetzen.
  • Sie dürfen für startwert und obergrenze beliebige Werte einsetzen.
  • Sie dürfen die Wiederholungszuweisung ändern. Beispiele:
    • "i=i+2" bedeutet: "i" wird nach jeder Iteration um 2 erhöht.
    • "i--" oder "i=i-1" bedeutet: "i" wird nach jeder Iteration um 1 erniedrigt.
  • Sie dürfen die Wiederholungsbedingung ändern: statt "i<5" dürfen Sie z.B. "i>5" schreiben.

Beispiele

Anderer Startwert, andere Obergrenze (5, 10):

Andere Wiederholungszuweiung (i=i+5):

Andere Wiederholungsbedingung (i>=0)