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 dies, weil die Variable dekrement
den Wert minus eins 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
Null, 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");