public class Schleifen { public static void main(String[] args) { // for-Schleife // Syntax: for(Laufvariable-Initialisierung; // Bedingung VOR Ausführung; // Veränderung) // { Anweisung; } // Zahlen von 1 ... 10 for(int i=0; i<10;) System.out.println(++i); // Das gleiche for(int i=1; i<=10; i++) System.out.println(i); // Zahlen von 0 ... 9 for(int i=0; i<10; i++) System.out.println(i); // Spezielle Schleifen: Die "Endlosschleife" // Fehlt die Bedingung, wird "true" angenommen! // Die Schleife läuft dann immer weiter... int i = 1; for(;;) // "Endlosschleife" { System.out.println(i++ + ". Durchlauf"); if( i > 100) break; // Schleife verlassen! } // Andere Variante: while-Schleife // Hier wird NUR eine Bedingung überprüft i = 1; while(i<=10) System.out.println(i++); // Überprüfung NACH dem ersten Durchlauf: do ... while // Syntax: do Anweisung; while(Bedingung); i = 1; do System.out.println(i++); while(i<1); // Endlos-Schleife mit "while": i = 1; while(true) { System.out.println(i++); if(i >= 10) break; } i = 0; while(i++ < 10) System.out.println(i); // continue springt wieder an den Anfang der Schleife // MIT Überprüfung der Bedingung i = 1; while(i < 10) { if( (i++ % 2) == 0 ) continue; System.out.println(i); } // "Verschachtelte" Schleifen // Aufgabe: Mitzählen lassen, wie viele Zeilen schon // ausgegeben wurden, und diese Zahl am Ende ausgeben. int a = 0; for(int x = 0; x < 10; x++) for(int y = 0; y < 10; y++) for(int z=0 ; z < 10; z++) { System.out.print("x=" + x + ", "); System.out.print("y=" + y + ", "); System.out.println("z=" + z); a++; // Wert hochzählen nach jeder Zeile } System.out.println(a + " Durchläufe gezählt."); // "Beobachten" von Schleifen: // Entweder mit System.out.print an geeigneten Stellen // die Werte der Variablen ausgeben, oder in Eclipse: // 1. Window -> Open Perspective: Debug // 2. Breakpoints links in die Zeilennummer per Doppelklick setzen // 3. "Trace" (Abspielen-Button links oben) und "Continue" (Weiterlaufen lassen nach Pause), // dabei im "Variables"-Fenster die Werte der Variablen beobachten } }