Schleifen in Java
Alles zur For-, While-, und Do-While-Schleife
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:- Initialisierung
- Zielwert
- 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!