Eine Schleife (DO, FOR, WHILE) wird in Java, wie in anderen Programmiersprachen aus, als Kontrollstruktur in eingesetzt. Sie wiederholt einen Anweisungs-Block (Schleifenrumpf bzw. Schleifenkörper) solange die Schleifenbedingung gültig bleibt bzw. keine Abbruchbedingung erfüllt ist. Schleifen (Englisch: loop) können beliebig verschachtelt werden.
do-Schleife
Die "nicht abweisende" do-Schleife wird mindestens einmal durchlaufen.
Einfache do-Schleife
public class Test { static public void main (String args[]) { int x=1; do { System.out.print(x); x++; } while (x<5); } }
Die Schleife wird so lange durchlaufen, wie "x" kleiner 5 ist, also 4 mal. Ausgabe: "1234".
Die do-Schleife wird einmal durchlaufen.
... int x=1; do { System.out.print(x); x++; } while (x<1); ...
for-Schleife
Die for-Schleife (Zählschleife) empfiehlt sich, wenn man einen Zähler für Schleifendurchläufe benötigt.
Einfache for-Schleife
public class Test { static public void main (String args[]) { for (int i=0; i<5; i++) { System.out.println(i); // Ausgabe: 0 1 2 3 4 } } }
for-Schleife vorzeitig per break abbrechen
... for (int i=0; i<5; i++) { if (i>2) break; System.out.println(i); // Ausgabe: 0 1 2 } ...
Performanceverbesserung durch einmalige Berechnung des Endwertes
... String s="test"; for (int i=0; i<s.length(); i++) { // schlecht, da s.length() mehrfach berechnet wird System.out.print(s.charAt(i)); } int n = s.length(); for (int i=0; i<n; i++) { // besser, da n=s.length() nur einmal berechnet wird System.out.print(s.charAt(i)); } ...
Beispiel: Nur ungerade Zahlen ausgeben
... for (int i=1; i<8; i+=2) { System.out.println( i); // Ausgabe: 1 3 5 7 } ...
Beispiel: Initialisierung vor Schleifenstart
... int i=3; for (; i<5; i++) { System.out.println( i); // Ausgabe: 3 4 } ...
while-Schleife
Bei der while-Schleife wird vor Eintritt in die Schleife zuerst eine Bedingung geprüft.
Wenn diese true ist, dann wird die Schleife durchlaufen, wenn false, dann nicht.
Die while-Schleife wird so lange durchlaufen, wie die Testbedingung erfüllt ist.
Einfache while-Schleife
public class Test { static public void main (String args[]) { int x=1; while (x<5){ System.out.print(x); x++; } } }
Die Schleife wird so lange durchlaufen, wie "x" kleiner 5 ist, also 4 mal. Ausgabe: "1234".
Endlose while-Schleife, die per break-Anweisung verlassen wird
... int i=0; while (true) { i++; System.out.println(i); // Ausgabe: 1 2 3 4 5 if (i==5) { break; } } ...