For-Loop in Java: So verwenden Sie die Schleife

Mit der for-Loop kann in Java eine Anweisung mehrfach hintereinander ausgeführt werden. Sie wird vor allem dann verwendet, wenn die Gesamtzahl der Durchläufe bereits vor der Ausführung bekannt ist. Die benötigten Anweisungen werden innerhalb des Schleifenkörpers platziert.

Günstige Webhosting-Pakete von IONOS!

Vertrauen Sie auf flexibel skalierbares und zuverlässiges Webhosting inklusive persönlichem Berater mit IONOS!

Kostenlose Domain
SSL Zertifikat
DDoS-Schutz

Was ist die for-Schleife in Java?

Die for-Loop ermöglicht es einer Java-Anwendung, eine Aktion so lange durchzuführen, bis eine vorher definierte Bedingung erfüllt wird. Dafür wird ein Code innerhalb der bekannten geschweiften Klammern so lange wiederholt, bis der festgelegte Zielwert erreicht ist.

Anders als bei anderen Schleifen, wie der Java-while-Loop oder der do-while-Loop, wird die for-Schleife in Java vornehmlich dann genutzt, wenn die Anzahl der benötigten und gewollten Durchläufe bereits im Vorfeld bekannt ist. Auch der Anfangspunkt und die Schrittweite lassen sich mit der for-Loop festgelegen, da sie im Gegensatz zur while-Schleife über eine zusätzliche Laufvariable verfügt.

Aufbau von for-Loops in Java

Die Syntax einer for-Schleife in Java ist immer gleich: Eingeleitet wird die Schleife durch das Schlüsselwort „for“. Danach folgt in runden Klammern die Initialisierung der Laufvariablen, dann die Abbruchbedingung und zuletzt die Veränderung der Laufvariablen. Die drei Komponenten werden dabei jeweils durch ein Semikolon voneinander getrennt. Hinter dem letzten Ausdruck muss allerdings auf das Semikolon verzichtet werden.

Die ausführenden Anweisungen folgen im Anschluss innerhalb des Schleifenkörpers, der wiederum durch geschweifte Klammern abgegrenzt wird. Der grundlegende Aufbau sieht also wie folgt aus:

for (Initialisierung der Laufvariablen; Abbruchbedingung; Veränderung der Laufvariablen) {
Anweisungen
}

Wie funktioniert die for-Schleife von Java?

Die Funktionsweise der for-Loops in Java lässt sich anhand der hinterlegten Ausdrücke in vier grundlegende Schritte unterteilen:

  1. Initialisierung: Der erste Schritt der Java-for-Loop ist die Initialisierung. Dieser Schritt wird nur ein einziges Mal ausgeführt.
  2. Abbruchbedingung: Die Abbruchbedingung (Condition) wird im Vorfeld definiert und dann bei jedem Durchgang überprüft. Solange die Bedingung wahr (true) ist, wird die Anweisung oder eine Aktion wiederholt. In dem Moment, in dem die Bedingung falsch (false) ist, wird der Vorgang beendet und die for-Schleife von der Java-Anwendung abgeschlossen.
  3. Laufvariable: Die Lauf- oder Zählvariable kann zu- oder abnehmen. Der Wert wird bei jedem Durchgang modifiziert und erneut auf die Abbruchbedingung hin überprüft. Wenn diese sich als falsch erweist, wird die for-Loop verlassen und das Programm normal fortgesetzt. Solange die Überprüfung allerdings wahr ist, wird das Prozedere erneut durchgeführt.
  4. Wiederholung: Diese Wiederholung ist der vierte Schritt. Jede Wiederholung beginnt wieder bei der Abbruchbedingung und unterzieht diese einer erneuten Überprüfung.

Beispiel für eine for-Loop

Am einfachsten lässt sich die Funktionsweise einer for-Schleife in Java mit Hilfe des passenden Quellcodes erläutern. In unserem Beispiel soll das Programm solange zählen, bis es bei dem Wert „5“ angekommen ist. Danach soll die for-Loop abgebrochen werden. Das sieht dann so aus:

for (int i = 1; i <= 5; i++) {
Anweisung
}

„int i = 1“ ist die Initialisierung. Um festzulegen, dass die Zahl nicht größer als „5“ wird, wird die Abbruchbedingung für die Zahl durch den Java-Operator mit „kleiner oder gleich 5“ (<=5) angegeben. An dritter Stelle legen wir fest, dass sich die Laufvariable mit jedem Durchgang um „1“ erhöhen soll. Der passende Befehl dazu ist „i++“.

Hinweis

Bei der Bezeichnung „i“ für die Variable handelt es sich um die gängige Bezeichnung. Sie können Ihrer Variablen allerdings auch einen anderen Namen geben.

Anweisung hinzufügen

Nun fügen Sie die entsprechende Anweisung hinzu, damit das Programm weiß, wie es verfahren soll. Diese Anweisung wird in die geschweiften Klammern geschrieben und dann über den Java-Befehl „System.out.println“ gesteuert:

for (int i = 1; i <= 5; i++) {
System.out.println ("Der Wert der Zahl ist: " + i);
}

So arbeitet die Schleife

Kommt diese for-Schleife nun in Java zur Anwendung, passiert folgendes: Im ersten Durchlauf ist der Wert der Zahl „0“ und damit kleiner als „5“. Die Bedingung ist also erfüllt (true) und der Vorgang wird wiederholt. Der Wert wird um „1“ erhöht und liegt damit auch bei „1“. Die Voraussetzung, dass der Wert unter „5“ liegen muss, ist weiterhin richtig. So geht es weiter, bis der Wert von „i“ auf „6“ erhöht wird. Nun ist die Bedingung, dass der Wert kleiner oder gleich „5“ sein muss, nicht mehr erfüllt (false). Java bricht die for-Schleife daher ordnungsgemäß ab und geht weiter.

for each: Die Weiterentwicklung der for-Loop

Neben der normalen for-Loop bei Java gibt es die Weiterentwicklung for each. Für diese Schleife wird ein Array, also ein Container mit mehreren Objekten eines Datentyps benötigt. Die for-each-Schleife kann in einigen Fällen die for-Schleife in Java ersetzen. Die entsprechende Syntax sieht so aus:

for ( Typ variable : Kollektion ) {
Code, in dem die Variable verwendet wird
}

Unterschied zwischen while- und for-Loop in Java

Auch eine while-Schleife dient dazu, einen Code auszuführen bis eine bestimmte Bedingung erfüllt wird. Sie erhält allerdings nur eine Bedingung innerhalb der runden Klammern und kann daher unter Umständen etwas unübersichtlicher als die for-Loop sein. Hier der Aufbau einer while-Schleife:

int i = 0;
while ( i <=5 ) {
System.out.println ("Der Wert der Zahl ist: " + i);
}
Hinweis

In Java gibt es insgesamt vier Schleifenarten. Neben der for-Schleife und den im Text ebenfalls aufgeführten Schleifen while und for each (auch als erweiterte for-Schleife bekannt) gibt es außerdem die do-while-Loop. Diese ähnelt der while-Schleife, überprüft die definierte Bedingung allerdings zusätzlich am Ende des Anweisungsblocks.