for-Schleife
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:
- In der ersten Iteration hat i den Wert "startwert".
- Nach der Iteration wird der Wert von i um 1 erhöht ("i++").
- Danach wird geprüft, ob die Bedingung i<"obergrenze" erfüllt ist.
- Wenn die Bedingung erfüllt ist, wird eine weitere Iteration durchgeführt.
- 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)