zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Angenommen, dass während eines Programmdurchlaufs der Schleifenkörper fünfmal ausgeführt wurde. Wie viele Male wurde der Bedingungsteil der while-Anweisung ausgewertet?

Antwort:

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.

Dekrementieren der Schleifenkontrollvariablen

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 alle ermüdenden Details, Schritt für Schritt:

  1. zaehler wird mit 2 initialisiert.
  2. Die Bedingung zaehler >= 0 wird ausgewertet und ergibt WAHR.
  3. Der Schleifenkörper wird ausgeführt, gibt "zaehler ist: 2" aus und subtrahiert 1 von zaehler.
    • zaehler ist jetzt 1.

  4. Die Bedingung zaehler >= 0 wird ausgewertet und ergibt WAHR.
  5. Der Schleifenkörper wird ausgeführt, gibt "zaehler ist: 1" aus und subtrahiert 1 von zaehler.
    • zaehler ist jetzt 0.

  6. Die Bedingung zaehler >= 0 wird ausgewertet und ergibt WAHR.
  7. Der Schleifenkörper wird ausgeführt, gibt "zaehler ist: 0" aus und subtrahiert 1 von zaehler.
    • zaehler ist jetzt -1.

  8. Die Bedingung zaehler >= 0 wird ausgewertet und ergibt FALSCH.
  9. Die Anweisung nach der Schleife wird ausgeführt und gibt "Fertig mit runterzaehlen" aus.

FRAGE 6:

Ist es möglich zaehler, um einen anderen Wert als eins zu verringern?