Ja.
Alle Schleifen müssen drei Dinge tun:
Das Codefragment enthält alle drei, aber in einer anderen Reihenfolge. Die Bedingung wird getestet nachdem der Schleifenkörper ausgeführt wurde.
int i = 0; // initialisiere i mit 0 do { System.out.println( i ); // Schleifenkörper mit Code i++ ; // i zu ändern } while ( i < 10 ); // Test, ob der Schleifenkörper // erneut ausgeführt wird.
Schleifen, die die Bedingung am Anfang testen
(die while
- und for
-Schleifen),
werden kopfgesteuerte Schleifen genannt.
Schleifen, die die Bedingung am Ende testen
(wie die do
-Schleife),
werden fußgesteuerte Schleifen genannt.
Diese Stelle für den Test kann seltsame
(und manchmal unerwünschte) Auswirkungen haben.
Zum Beispiel:
int i = 1000;
do
{
System.out.println( i );
i++ ;
}
while ( i < 10 );
Was ist die Ausgabe der geänderten Schleife?