Boucle infinie
Fait partie de la section Fondamentaux du Journey Java de Coddy — leçon 49 sur 73.
Une boucle infinie est une boucle qui ne s’arrête jamais parce que sa condition s’évalue toujours à true. Ces boucles peuvent se produire avec n’importe quel type de boucle (for, while, do-while), mais elles sont le plus souvent associées aux boucles while et do-while parce que leurs conditions sont explicitement énoncées.
Voici un exemple d'une boucle while infinie :
while (true) {
System.out.println("This will print forever!");
}Dans ce cas, la condition est simplement true, qui s'évalue toujours à true. Ainsi, la boucle s'exécutera indéfiniment, en imprimant le message encore et encore.
Une autre façon de créer une boucle infinie consiste à omettre la condition dans une boucle for :
for (;;) {
System.out.println("This also prints forever!");
}Ici, les parties d'initialisation, de condition et de mise à jour de la boucle for sont toutes omises. Cela crée une boucle qui s'exécute indéfiniment.
Les boucles infinies peuvent également se produire involontairement, par exemple lorsque la condition de la boucle est toujours true en raison d'une erreur logique :
int i = 0;
while (i < 10) {
System.out.println("i is: " + i);
// Missing i++ to increment i
}Dans cet exemple, la variable i n'est jamais incrémentée, de sorte que la condition i < 10 est toujours true. Cela crée une boucle infinie qui continuera à imprimer "i is: 0" indéfiniment.
Les boucles infinies peuvent être utiles dans certains cas, comme dans les programmes serveurs qui doivent continuer à s'exécuter jusqu'à ce qu'ils soient arrêtés manuellement. Cependant, elles peuvent aussi faire geler ou planter les programmes si elles ne sont pas gérées correctement.
Aide-mémoire
Une boucle infinie est une boucle qui ne s’arrête jamais parce que sa condition s’évalue toujours à true.
Boucle while infinie intentionnelle :
while (true) {
System.out.println("This will print forever!");
}Boucle for infinie intentionnelle (en omettant toutes les parties) :
for (;;) {
System.out.println("This also prints forever!");
}Boucle infinie non intentionnelle (incrémentation manquante) :
int i = 0;
while (i < 10) {
System.out.println("i is: " + i);
// i++ manquant pour incrémenter i
}Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Méthodes System.outFormatage de la sortieClasse ScannerRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Méthodes (Fonctions)
Déclaration de méthodesParamètres de méthodeTypes de retourSurcharge de méthodesRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationMéthodes Void13Opérations sur les chaînes
Méthodes de chaînes, partie 1Méthodes de chaînes, partie 2Formatage de chaînesComparaison de chaînes5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 43Variables Partie 2
ConstantesConventions de nommageRécapitulatif - Initialisation des variablesType Casting Partie 1Type Casting Partie 26Prise de décision
Instruction IfIf - ElseInstruction SwitchOpérateur ternaireRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle For - Partie 1Boucle WhileBoucle Do WhileBreakContinueBoucle For - Partie 2Boucles imbriquéesBoucle infinieRécapitulatif - Entrée dynamique12Parcourir les tableaux
Utilisation de la boucle forBoucle for amélioréeOpérations courantes sur les tableaux