04 - Structures de contrôle - Boucles
Apprenez comment répéter du code efficacement en utilisant les boucles en Java
Les boucles vous permettent de répéter du code sans l'écrire encore et encore. Elles sont essentielles pour traiter les collections, générer des mondes, et mettre à jour les objets du jeu.
Boucle while
Répète du code tant qu'une condition est vraie :
int compteARebours = 5;
while (compteARebours > 0) {
System.out.println(compteARebours);
compteARebours--;
}
System.out.println("Décollage !");Structure
while (condition) {
// code à répéter
}Assurez-vous toujours que votre condition de boucle deviendra fausse à un moment, ou votre programme s'exécutera pour toujours !
int x = 0;
while (x < 10) {
System.out.println("Bloqué !");
// J'ai oublié d'incrémenter x !
}Boucle do-while
Tout comme la boucle while, mais s'exécute toujours au moins une fois (la condition est vérifiée à la fin) :
int vie = 0;
do {
System.out.println("Tentative de réapparition...");
vie = 100;
} while (vie <= 0);Boucle for
Le mieux quand vous connaissez le nombre de répétitions :
for (int i = 1; i <= 5; i++) {
System.out.println("Niveau " + i);
}Structure
for (initialisation ; condition ; mise à jour) {
// code à répéter
}for (int i = 0; i < 10; i++) {
// ^ ^ ^
// Début Arrêt Pas
}- Initialisation : int i = 0 - s'exécute une fois au début
- Condition : i < 10 - vérifié avant chaque boucle
- Mise à jour : i++ - s'exécute après chaque boucle
Instruction Break
Vous pouvez sortir d'une boucle plus tôt avec break :
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break; // Sort de la boucle quand i vaut 6
}
System.out.println(i);
}Instruction Continue
Passe à la prochaine itération avec continue :
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // Passe les nombres pairs
}
System.out.println(i); // Affiche seulement les nombres impairs
}Boucles imbriquées
Vous pouvez mettre une boucle dans une autre boucle :
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 2; j++) {
System.out.println("i: " + i + ", j: " + j);
}
}Faites attention avec les boucles imbriquées ! Elles peuvent ralentir considérablement votre mod.
// Ce code s'exécute 1 million de fois !
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
// Code ici
}
}Essayez d'éviter les boucles profondément imbriquées lors du traitement de grandes quantités de données.