Angenommen, dass während eines
Programmdurchlaufs der Schleifenkörper fünfmal ausgeführt wurde.
Wie viele Male wurde der Bedingungsteil der while
-Anweisung
ausgewertet?
Sechsmal. Damit der Schleifenkörper fünfmal ausgeführt wird, musste die Bedingung fünfmal wahr ergeben. Dann wurde die Bedingung noch einmal ausgewertet und ergab dieses Mal falsch.
Die Schleifenkontrollvariable in einer Zählschleife kann durch einen negativen Wert geändert werden. Hier ist ein Programmfragment, das die Schleifenkontrollvariable am Ende einer jeden Iteration dekrementiert.
int zaehler = 2; // zaehler wird initialisiert while ( zaehler >= 0 ) // zaehler wird überprüft { System.out.println( "zaehler ist:" + zaehler ); zaehler = zaehler - 1; // zaehler wird um -1 geändert } System.out.println( "Fertig mit runterzaehlen." );
Hier ist was das Programm ausgeben wird:
zaehler ist: 2 zaehler ist: 1 zaehler ist: 0 Fertig mit runterzaehlen.
Hier sind die Details, Schritt für Schritt:
zaehler
wird mit 2 initialisiert.zaehler >= 0
wird ausgewertet und ergibt WAHR.zaehler
.
zaehler
ist jetzt 1.zaehler >= 0
wird ausgewertet und ergibt WAHR.zaehler
.
zaehler
ist jetzt 0.zaehler >= 0
wird ausgewertet und ergibt WAHR.zaehler
.
zaehler
ist jetzt -1.zaehler >= 0
wird ausgewertet und ergibt FALSCH.
Ist es möglich zaehler
, um einen anderen Wert als eins zu verringern?