zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Es gibt aus:

1000

Der Schleifenkörper wird immer ausgeführt

Da der Test erst am Ende der Schleife durchgeführt wird, wird der Schleifenkörper zumindest einmal ausgeführt, egal wie die Bedingung lautet. Java schaut nicht "nach vorn" zur Bedingung, die getestet wird. Zuerst wird der Schleifenkörper ausgeführt, dann wird die Bedingung getestet um zu sehen, ob die Schleife erneut ausgeführt werden sollte.

int count = 1000;                   // initialisiere

do
{
  System.out.println( count );
  count++  ;                        // ändere
}
while ( count < 10 );               // teste

Es ist leicht fälschlicherweise anzunehmen, dass der Schleifenkörper überhaupt nicht ausgeführt wird, da count mit 1000 beginnt und der Test verlangt, dass count kleiner 10 ist.

Aber Tatsache ist, der Schleifenkörper wird einmal ausgeführt und gibt i aus. Danach wird i auf 1001 erhöht, bevor der Test durchgeführt wird. Das könnte ein schwerer Bug sein.

Ihr werdet Stunden von Haare raufendem Debugging sparen, wenn Ihr Euch das folgende einprägt:

Der Schleifenkörper einer do-Schleife wird immer zumindest einmal ausgeführt.

Es gibt fast immer Situationen in denen ein Schleifenkörper auch nicht einmal ausgeführt werden sollte. Aus diesem Grund ist eine do-Schleife fast immer eine unpassende Wahl.


Frage 4:

(Denkfrage:) Was meint Ihr, Welche Schleifentyp ist eine gute Wahl für eine Zählschleife?

zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite