📖 for - Schleife
Neben while und do..while existiert noch eine dritte Schleifenart, die
for-Schleife.
Die for-Schleife ist eine Erweiterung der while Schleife, sodass zwischen
den runden Klammern () nicht nur eine <Bedingung> definiert wird, sonder
auch eine <Zählervariable> sowie eine <Schrittweite>.
- 💡 Die drei Teile werden mit einem 
;Semikolon getrennt. - 💡 Für die 
for-Schleife existiertkeineVariante.do..for 
Grundform
Die for Kontrollstruktur ist zuerst einmal gewöhnungsbedürftig. Das Muster sieht so aus:
for - Muster
for (
  <Zählervariable>;
  <Bedingung>;
  <Schrittweite>
) {
    <Anweisungen, Sequenz>
}

Die 3 Teile in den Runden Klammern () sind mit einem Semikolon ; getrennt!
(und stehen meist auf einer Linie nebeneinander)
for - Ablaufdiagram
<Zählervariable>
Ganz am Anfang wird die <Zählervariable> initialisiert und ist im
Code-Block sichtbar.
💡 Häufig dient die <Zählervariable> als Indexnummer und heisst dadurch
i.
<Bedingung>
Vor jeder Sequenz wird die Bedingung auf Wahrheit geprüft (true), ob die
die <Anweisungen, Sequenz> ausgeführt werden sollen oder ob die Schlaufe
beendet wird.
💡 Meistens betrifft die <Bedingung> die <Zählervariable>.
<Schrittweite>
Am Schluss einer Sequenz, vor der <Bedingung>, wird die <Zählervariable>
hoch oder runter gezählt.
💡 i++ Zählt z.B. die Variable i mit der Schrittweite 1 hoch.
<Anweisungen, Sequenz>
Die <Anweisungen> im Code-Block werden Ausgeführt, solange die <Bedingung>
wahr (true) ist.
Grundform am Beispiel
Damit es weniger abstrakt ist, hier ein Beispiel als for sowie while
Schleife, welches die Zahlen 0 bis 4 ausgibt. Dies soll veranschaulichen, wieso
die for-Schleife zusätzlich zur while-Schlaufe in fast jeder
programmiersprache existiert.
for
public class FixeWiederholung {
  public static void main(String[] args) {
    for (int i = 0; i < 5; i++) {
      System.out.println(i);
    }
  }
}
Es wird als Erstes die Variable int i = 0; initialisiert. Sobald die
Anweisungen innerhalb des Code-Blocks abgearbeitet sind
(System.out.pringln(i);), springt die Programmausführung bei der schliessenden
geschweiften Klammer wieder zurück zum for, verändert die Variable um die
Schrittweite (i++) und prüft, ob die Bedingung (i < 5) noch erfüllt ist.
Wenn ja, wird die Schleife erneut ausgeführt.
while
public class FixeWiederholungWhile {
  public static void main(String[] args) {
    int i = 0;
    while (i < 5) {
      System.out.println(i);
      i++;
    }
  }
}
Die while Variante verhält sie gleich wie die for Variante. Sie brauch
jedoch mehr Zeilen.
for hier bevorzugt?int i = 0; ist ausserhalb der Schlaufe initialisiert!
Dadurch ist diese also in der ganzen äusseren Methode sichtbar und nicht nur im Code-Block der Schlaufe und existiert auch nach dem Beenden der Schlaufe weiter.
<Zählervariable>
int i = 0: Eine Variable i mit Datentyp int wird mit 0 initialisiert
<Bedingung>
i < 5: Solange i kleiner als 5 ist, wird die for-Schleife weiterhin
ausgeführt
<Schrittweite>
i++: Die Variable i wird bei jedem Durchlauf um 1 erhöht
<Anweisungen, Sequenz>
Mir der Anweisung System.out.println(i); wird bei jeder Sequenz/Iteration bei
der die <Bedingung> wahr ist, die Variable i auf die Konsole ausgegeben.
Programmablauf
Eine for-Schleife wird so durchlaufen, wie folgend dargestellt. Wenn die Bedingung nicht mehr erfüllt ist, wird die Schleife beendet und es wird die erste Anweisung unterhalb der Schleife ausgeführt (roter Pfeil).

- Die Bearbeitung der for-Schleife beginnt beim roten Pfeil. Es wird im ersten
Teil die 
<Zählervariable>imit 0 initialisiert. - Im zwieten Teil, der 
<Bedingung>, wird geprüft ob die Zählervariableikleiner als 5 ist. - Da dies der Fall ist, wird nun die 
<Anweisungen>(System.out.println(i);) im Code-Block{}ausgeführt. - Danach wird "nach oben" zum letzten Teil, der 
<Schrittweite>gesprungen. Hier wird durchi++die<Zählervariable>ium 1 hochgezählt. - Nun wird wieder zur 
<Bedingung>gesprungen. - Wenn die Variable 
iimmer noch kleiner als 5 ist, wird die<Anweisung>wiederholt ausgeführt. 
Die Punkte 3-6 (grün), werden solange wiederholt, bis die <Bedingung> falsch
(false) und somit die Variable i mindestens 5 ist. Im oberen Beispiel wird
das nach der 5. Wiederholung der Fall sein.
0
1
2
3
4