Schleifen in Java

Alles zur For-, While-, und Do-While-Schleife

Navigation:

Auf Schleifen greift man in der Programmierung dann zurück, wenn bestimmte Anweisungen oder Operationen beliebig oft wiederholt werden sollen. In Java gibt es drei relevante Schleifen-Typen. Je nach Einsatzszenario entscheidet man sich für eine der drei Schleifen:

  • For-Schleife
  • While-Schleife
  • Do-While-Schleife

Nachfolgend werden die einzelnen Schleifen-Varianten vorgestellt. Den Anfang macht die For-Schleife.

For-Schleife

Die For-Schleife nimmt man immer dann, wenn man die Anzahl der benötigten Schleifen-Durchläufe schon im Voraus kennt. Für die Vorschleife werden die folgenden drei Parameter benötigt:
  1. Initialisierung
  2. Zielwert
  3. Schrittweite

Mit der Initialisierung legt man fest, ab welchen Wert man mit der Schleife startet. Die Schleife wird dann so lange durchgeführt, bis der Zielwert erreicht oder überschritten wird. Wie schnell das geht, das legt man mit der Schrittweite fest. Anbei die allgemeine Syntax der For-Schleife:


for(Initialisierung; Zielwert; Schrittweite) {
	// Anweisungen
}

Nachfolgend eine konkrete Schleife die "Hello World" genau 10 Mal ausgibt. Man nimmt als Startwert normalerweise die 0 oder die 1 (hier die 0). Soll "Hello World!" genau 10 Mal ausgegeben werden, dann muss die Schleife 10 mal ausgeführt werden. Startet man nun mit einem Startwert bei der Initialisierung von 0, dann ist der Zielwert < 10. Die Schrittweise ist natürlich immer +1 also ++. Hier nun die komplette For-Schleife


for(int i=0; i<10; i++)
		{
		  System.out.println("Hello World " + i);
		}

Anmerkung: Gerade bei Zielbereich muss man bei der For-Schleife aufpassen. Hätte man hier z.B. die Bedingung i<=10 gemacht, dann wäre 11 mal "Hello World!" ausgegeben worden. Wäre i aber bei 1 gestartet, dann wiederum hätte man i<=10 für 10 Durchläufe schreiben müssen.

Video Tutorial zur for-Schleife

Anbei ein Video in dem die for-Schleife vorgestellt und anhand von Beispielen demonstriert wird.

While-Schleife

Die While-Schleife wird so lange durchlaufen, bis die Bedingung ein False ergibt. Dabei steht die Bedingung am Anfang, ist sie also schon davor „falsch“, dann wird die Schleife kein einziges Mal ausgeführt, sondern übersprungen.

Anbei die Syntax der While-Schleife


while(Bedingung)
{
  // Anweisungen
}
Die nachfolgende While-Schleife wird beispielsweise nur einmalig ausgeführt, da sich beim ersten Durchlauf die Bedingung erfüllt, in dem die Variable "var" auf "false" gesetzt wird:

boolean var=true;
while(var)
{
  var=false;
   System.out.println("Hello World");
}

Video Tutorial zur while-Schleife

Anbei ein Video in dem die while-Schleife vorgestellt und anhand von Beispielen demonstriert wird. Unter anderem wird gezeigt, wie man aus einer while-Schleife eine For-Schleife machen kann.

Do-While-Schleife

Wenn man weiß, dass die Schleife auf jeden Fall mindestens einmal ausgeführt werden soll, dann kann man statt einer While-Schleife auch eine Do-While-Schleife einsetzen. Eine Do-While-Schleife ist im Grunde genommen nichts Anderes, als eine While-Schleife bei der die Schleifen-Bedingung am Ende der Schleife und nicht am Anfang steht.


do
{
  // Anweisungen
}
while(Bedingung);

Damit wird unser nachfolgendes Code-Stück, obwohl die Variable var schon von Anfang an mit false initialisiert wurde, dennoch einmal die Meldung "Hello World" wie bei der While-Schleife ausgeben:


boolean var=false;
do
{
  System.out.println("Hello World");
}
while(var);

Anmerkung: Würde man in diesem Beispiel statt die Variable mit false mit true initialisieren und sonst nichts ändern, dann hätte man eine Endlosschleife. Ebenfalls hätte man eine Endlosschleife, wenn man die Variable zwar mit false initialisieren würde, in der Schleife selbst aber dann der Variablen var=true zuweisen würden. Endlosschleifen sollten auf jeden Fall verhindert werden!

Video Tutorial zur do-while-Schleife

Anbei ein Video in dem die do-while-Schleife vorgestellt und anhand von Beispielen demonstriert wird. So wird gezeigt, wie aus einer while-Schleife eine do-while Schleife gemacht wird und was der Unterschied zwischen diesen beiden Schleifenarten in Java ist.