Modding d'Hytale
Bases de Java

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
}
Boucles infinies

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
}
Parties de la boucle for
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);
    }
}
Performance des boucles imbriquées

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.