zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

zaehler ist 13
zaehler ist 14
zaehler ist 15
zaehler ist 16
zaehler ist 17

  . . . .

und so weiter ohne Ende

Endlos-Schleife

Es ist möglich (und kommt häufig vor), dass aus Versehen eine Zählschleife erstellt wird, die niemals endet. In dem oben stehenden Beispiel passiert das, weil die Variable dekrement den Wert -1 hatte. So dass die Anweisung

zaehler = zaehler - dekrement;

tatsächlich eins zu zaehler addierte. Also wurde zaehler größer und größer und erreichte niemals 0, nach der der Bedingungsteil suchte:

while ( zaehler >= 0 )   // GRÖSSER-als-oder-gleich-Operator

Solche Schleifen werden Endlos-Schleifen genannt oder nicht-terminierende Schleifen und sind manchmal beim Programmieren leicht zu übersehen. Hier ist ein weiteres Programmfragment:

int zaehler   = 20;
int dekrement = -1;
while ( zaehler  10 )   // welcher relationaler Operator ?
{
  System.out.println( "zaehler ist:" + zaehler );
  zaehler = zaehler + dekrement ;
}
System.out.println( "zaehler war " + zaehler + " als er den Test nicht bestand");

FRAGE 9:

Welcher relationaler Operator sollte verwendet werden, so dass das Programmfragment die Integer 20 abwärts und inklusive 11 ausgibt?