zaehler ist 13 zaehler ist 14 zaehler ist 15 zaehler ist 16 zaehler ist 17 . . . . und so weiter ohne Ende
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");