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

Eine gute Antwort wäre:

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 runterzählen." );

Hier ist was das Programm ausgeben wird:

Zaehler ist: 2
Zaehler ist: 1
Zaehler ist: 0
Fertig mit runterzählen.

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 runterzählen" aus.

FRAGE 6:

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

Inhaltsverzeichnis