Die for-Schleife (oder auch for loop geannt) zählt zu den wohl wichtigsten Schleifen in Java. Bei der for-Schleife handelt es sich um eine Zähllschleife. Diese wird immer dann verwendet, wenn die Anzahl der Iterationen schon vor dem ersten Durchlaufen der Kontrollstruktur feststeht.
Aufbau einer for-Schleife
for (Initialisierung; Endwert; Update)
Anweisung
Im Normalfall wird bei der Initialisierung eine Variable mit einem Startwert belegt. Beim Endwert handelt es sich um eine an die Variable geknüpfte Bedingung und beim Update um eine Inkrement- oder Dekrementoperation. Die Schleife wird dann solange ausgeführt, bis die Variable nicht mehr die Bedingung des Endwerts erfüllt, da bei jeder Iteration das Update der Variable durchgeführt wird.
Wenn die Bedingung vor der ersten Iteration bereits nicht erfüllt ist, wird auch die Schleife nie ausgeführt und die IDE warnt und mit einer Fehlermeldung.

Beispielcode
public static void main(String[] args) { for(int i=0; i<10; i++) { System.out.println("Durchlauf Nr. " + i); } }
Durchlauf Nr. 0
Durchlauf Nr. 1
Durchlauf Nr. 2
Durchlauf Nr. 3
Durchlauf Nr. 4
Durchlauf Nr. 5
Durchlauf Nr. 6
Durchlauf Nr. 7
Durchlauf Nr. 8
Durchlauf Nr. 9
Im Beispiel wird die Variable i mit dem Wert 0 initialisert, danach erfolgt die Prüfung ob i kleiner als 10 ist. Da die Bedingung erfüllt ist wird der Schleifenrumpf ausgeführt und anschließend wird i inkrementiert. Dies wird solange fortgesetzt, bis i den Wert 9 erreicht hat. Wenn dann die Variable auf 10 inkrementiert wird aber dann nicht mehr der Bedingung i<10 genügt,wird die Schleife abgebrochen.
Anwendungsbeispiel
Wofür kann solch eine for-Schleife nun verwendet werden? Ein klassisches Beispiel ist die Iteration über ein Array zum manipulieren deren Werte. Ein Array können wir uns an dieser Stelle als eine „Liste“ von Variablen vorstellen, weitere Ausführungen folgen in einem anderen Beitrag.
public class forLoop { public static void main(String[] args) { // Leeres Array für 10 Integer anlegen int[] array = new int[10]; // Jeden Index im Array durchlaufen for(int i=0; i<array.length; i++) { // Aktuellen Index mit Wert von i belegen array[i] = i; } // Array in Konsole ausgeben System.out.println(Arrays.toString(array)); }
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Wir sehen also, dass das anfangs leere Array mit jeder Iteration weiter beschrieben wurde, bis auch der letzte Index 9 (der Index eines Arrays beginnt mit 0) mit einem Wert belegt ist.
Pingback: Was sind Kontrollstrukturen? - LernJAVA.de