Boucles infinies
Il est possible (et ce n'est pas rare !) de créer accidentellement
une boucle qui ne s'achèvera jamais. Dans l'exemple précédant,
cela s'est produit car la variable décrément avait
une valeur égale à -1. Ainsi, l'instruction
count = count - decrement;
ajoutait donc 1 à count ! Ainsi count n'arretait pas
d'augmenter, n'atteignant jamais la valeur zéro qu'attendait la
condition :
while ( count >= 0 ) // opérateur SUPERIEUR-ou-égal
De tels boucles sont appelées boucles infinies, ou boucles
sans fin et passent souvent inaperçus lorsque l'on programme.
Voici un autre extrait de programme :
int count = 20;
int dec = -1;
while ( count __________ 10 ) // quel opérateur relationnel ?
{
System.out.println( "count vaut " + count );
count = count + dec ;
}
System.out.println( "Count valait " + count + " lorsque le test échoua");
|