Une fois, Mark Zuckerberg a noté que les ordinateurs sont vraiment bons dans une répétition de commandes. Ce n'est pas simple pour un être humain, on en a marre de répéter la même chose plusieurs fois de suite, mais un ordinateur peut le faire des millions et des milliards de fois sans jamais s'en lasser.
Si vous essayez d'envoyer des salutations à tous les utilisateurs de Facebook, aucun humain n'a suffisamment de jours pour le faire. Cependant, vous pouvez faire en sorte qu'un ordinateur résolve cette tâche en écrivant quelques lignes de code. C'est ainsi que fonctionnent les boucles.
Ils nous permettent de ne pas répéter les mêmes actions de routine. La boucle la plus populaire en Java est la boucle dite définie ou boucle for.![Boucle for en Java - 2]()
![Boucle for en Java - 3]()
Comment écrire une boucle for en Java ? Boucle For en général
La boucle For exécute certaines instructions un certain nombre de fois. Par exemple, écrire cinquante fois "Je ne dois pas être ainsi, ho-ho, ho" ou envoyer des invitations à tous vos amis sont des tâches typiques pour ce genre de boucle. La syntaxe de la version la plus courante de la boucle for :for ([counter initialization]; [checking conditions]; [changing of the counter])
{
// statements
}
L'expression d'initialisation est exécutée une fois, puis la condition est évaluée, qui doit être une expression booléenne.
- Lorsque la boucle commence, les initialisations s'exécutent.
- Lorsque les conditions sont évaluées comme fausses, notre boucle arrête son travail.
![Boucle for en Java - 2](https://cdn.codegym.cc/images/article/83e6a621-bb01-4552-b47a-29fdef44adfd/1024.jpeg)
Comment utiliser la boucle for en Java. Exemple simple.
Voici un exemple particulier de boucle for Java. Écrivons dix fois "Hello!" Chaîne chaque fois qu'il serait de la nouvelle ligne avec un certain nombre de cette ligne. Nous devrions obtenir la sortie suivante :- Bonjour!
- Bonjour!
- Bonjour!
- Bonjour!
- Bonjour!
- Bonjour!
- Bonjour!
- Bonjour!
- Bonjour!
- Bonjour!
public class ForExample {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(i + 1 + ". Hello!");
}
}
}
Comment ça fonctionne?
Étape 1. Compteur i = 0. Loop vérifie notre condition, i << 10, par conséquent, les instructions de boucle sont exécutées. Il imprime la phrase "1. Bonjour!". 1 est une chaîne i + 1 (car nous avons compté à partir de zéro, mais la première ligne est toujours la première). Le compteur i est incrémenté. Maintenant, i = 1. Étape 2. Compteur i = 1. i < 10, nous avons donc une phrase "2. Hello!" et i + 1 = 2. … Étape 10. Compteur i = 9, nous avons "10. Hello!" et i est incrémenté à 10. Etape 11. Compteur i = 10. i < 10 ? Non c'est faux. Par conséquent, la boucle est terminée.![Boucle for en Java - 3](https://cdn.codegym.cc/images/article/aba1824e-0839-4f54-9912-279bdd2e5b51/1024.jpeg)
Boucle While et boucle for : différences et similitudes
En Java, une boucle indéfinie ou une boucle while est exécutée en continu si la condition booléenne se réalise. La syntaxe de la boucle while :while (boolean condition)
{
loop statements...
}
Assez souvent, vous pouvez choisir la boucle que vous souhaitez utiliser. Parfois, ils sont très proches et vous pouvez utiliser les deux. Par exemple, voici le code pour la même tâche (écrire dix fois "Bonjour !" avec un numéro de la ligne) écrit avec la boucle while :
public class ForAndForEach {
public static void main(String[] args) {
int j = 0; // we use the counter this way
while (j < 10) {
System.out.println(j + 1 + ". Hello!");
j++;
}
}
}
Cependant, les programmeurs professionnels n'aiment pas vraiment la boucle while et, dans la mesure du possible, essayez d'utiliser la boucle for. POUR | ALORS QUE |
---|---|
Nous utilisons la boucle for si nous connaissions déjà le nombre d'itérations. |
Nous utilisons la boucle while si nous ne connaissons pas exactement le nombre d'itérations. |
L'initialisation, la vérification des conditions et le changement de compteur sont déjà cousus dans la syntaxe d'une boucle |
Initialisation et vérification des conditions à l'intérieur de la boucle. Vous pouvez également utiliser counter dans les instructions. |
Boucle infinie pour :
|
Boucle infinie tant que :
|
Comment sortir d'une boucle for en java
Habituellement, une boucle for s'exécute comme un flux et la façon naturelle de sortir d'une boucle est lorsqu'une condition prend une valeur fausse. Cependant, il existe deux instructions de contrôle qui vous permettent de quitter la boucle avant d'obtenir la valeur fausse d'une condition - break et continue.- break permet de quitter le corps de la boucle actuelle comme si la condition de la boucle avait été évaluée comme fausse.
- continue fait passer la boucle à l'étape suivante (en itérant le compteur) sans exécuter les instructions.
public class ForBreakExample {
public static void main(String[] args) {
String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
for (int i = 0; i < names.length; i++) {
// how to break out of a for loop, java: check if we have any "Stranger" in // our array
if (names[i].equals("Stranger")) {
System.out.println("I don't chat with strangers");
break;
}
System.out.println("Hello," + names[i]);
}
}
}
Le résultat de l'exécution de notre programme est :
Hello,Mike
Hello,Dustin
I don't chat with strangers
Voir? Nous nous sommes enfuis de la boucle avant de saluer Lucas et Will. Maintenant, utilisons continue, juste pour ignorer un "étranger" mais restez dans la boucle pour dire bonjour à d'autres amis.
public class ForContinueExample {
public static void main(String[] args) {
String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
for (int i = 0; i < names.length; i++) {
if (names[i].equals("Stranger")) {
System.out.println("I don't chat with strangers");
continue;
}
System.out.println("Hello," + names[i]);
}
}
}
Le résultat est:
Hello,Mike
Hello,Dustin
I don't chat with strangers
Hello,Lucas
Hello,Will
Excellent! Nous avons salué tous les amis, mais n'avons pas parlé à un étranger.Version améliorée de la boucle for ou for-each
For-each est une sorte de boucle for qui est utilisée lorsque vous devez traiter tous les éléments d'un tableau ou d'une collection. En fait, l'expression même pour chacun n'est pas utilisée dans ce cycle. La syntaxe est la suivante :for (type itVar: array)
{
Block of operators;
}
Où type est le type de la variable itérative (identique au type de données du tableau), ItVar est son nom, tableau est le tableau ou il peut y avoir une autre structure de données, par exemple, ArrayList.
Comme vous pouvez le voir, il n'y a pas de compteur, la variable d'itération itère sur les éléments d'un tableau ou d'une collection, et non sur les valeurs d'index. Lorsqu'une telle boucle est exécutée, la variable d'itération reçoit séquentiellement la valeur de chaque élément du tableau ou de la collection, après quoi le bloc d'instructions (ou opérateur) spécifié est exécuté.
Attention: la boucle for-each peut être appliquée aux tableaux et à toutes les classes qui implémentent l'interface java.lang.Iterable. Résolvons le même problème avec les salutations d'amis, en ignorant les étrangers ("Stranger") mais cette fois, utilisez la boucle for-each.
public class ForEachExample {
public static void main(String[] args) {
String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
// for each loop, Java code
for (String name : names) {
if (name.equals("Stranger")) {
System.out.println("I don't chat with strangers");
continue;
}
System.out.println("hello, " + name);
}
}
}
Pour renforcer ce que vous avez appris, nous vous suggérons de regarder une leçon vidéo de notre cours Java
Plus de lecture : |
---|