Casser les boucles imbriquées en Java
-
Casser la boucle interne à l’aide d’une instruction
break
en Java -
Casser une boucle imbriquée à l’aide d’une instruction
break
avec une étiquette en Java -
Casser une boucle imbriquée à l’aide d’une instruction
break
en Java -
Casser une boucle imbriquée à l’aide d’une variable
flag
en Java -
Casser une boucle imbriquée à l’aide d’une instruction
return
en Java
Ce didacticiel présente des méthodes permettant de décomposer les boucles imbriquées en Java. Nous avons inclus quelques exemples de programmes que vous pouvez suivre comme guide.
Une boucle est une technique qui nous permet de répéter n’importe quelle instruction de code à n’importe quel nombre de fois en fonction de la condition donnée. Java prend en charge plusieurs types de boucles comme la boucle while
, la boucle do-while
, la boucle for
et la boucle for-each
. Nous pouvons également imbriquer ces boucles.
Dans cet article, vous apprendrez à décomposer une boucle imbriquée en Java. Il existe plusieurs façons de rompre une boucle imbriquée ; celles-ci incluent l’utilisation des instructions break
et return
. Continuez de lire pour en savoir davantage!
Casser la boucle interne à l’aide d’une instruction break
en Java
Si vous voulez rompre une boucle, vous pouvez utiliser l’instruction break
. Cette instruction ne briserait la boucle interne que si vous l’appliquiez dans la boucle interne. Voici comment procéder :
public class SimpleTesting {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(j);
if (i == 2) {
System.out.println("loop break");
break;
}
}
System.out.println();
}
}
}
Production:
0
1
2
3
4
0
1
2
3
4
0
loop break
0
1
2
3
4
0
1
2
3
4
Casser une boucle imbriquée à l’aide d’une instruction break
avec une étiquette en Java
Si vous voulez casser toutes les boucles, à la fois internes et externes, vous pouvez utiliser une étiquette avec une instruction break
qui coupera toutes les boucles et déplacera le contrôle vers la boucle extérieure. Voir l’exemple ci-dessous :
public class SimpleTesting {
public static void main(String[] args) {
out:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(j);
if (i == 2) {
System.out.println("loop break");
break out;
}
}
System.out.println();
}
}
}
Production:
0
1
2
3
4
0
1
2
3
4
0
loop break
Casser une boucle imbriquée à l’aide d’une instruction break
en Java
Une boucle peut être du type while
, for
ou for-each
, et nous pouvons utiliser une instruction break
dans n’importe laquelle de ces boucles. Dans cet exemple, nous utilisons une boucle while
et interrompons son flux en utilisant une instruction break
. Voir l’exemple ci-dessous :
public class SimpleTesting {
public static void main(String[] args) {
int i = 0;
out:
while (i < 5) {
int j = 0;
while (j < 5) {
System.out.println(j);
if (i == 2) {
System.out.println("loop break");
break out;
}
j++;
}
System.out.println();
i++;
}
}
}
Production:
0
1
2
3
4
0
1
2
3
4
0
loop break
Casser une boucle imbriquée à l’aide d’une variable flag
en Java
Cette méthode introduit un autre scénario dans lequel nous utilisons une variable dans la condition de boucle ; lorsque la condition est remplie, la boucle éclate. Ce code est bon si vous ne voulez pas utiliser une instruction break
. Ce processus est également meilleur car il rend le code plus lisible. Suivez le bloc de code ci-dessous :
public class SimpleTesting {
public static void main(String[] args) {
boolean flag = false;
for (int i = 0; i < 5 && !flag; i++) {
System.out.println(i);
if (i == 3) {
System.out.println("loop break");
flag = true;
}
}
}
}
Production:
0
1
2
3
loop break
Casser une boucle imbriquée à l’aide d’une instruction return
en Java
L’instruction return
en Java est utilisée pour renvoyer une réponse à la méthode de l’appelant. Nous pouvons utiliser une instruction return
dans la boucle pour la rompre. C’est une alternative d’une instruction break
mais elle ne peut fonctionner que dans certains scénarios uniquement. Voir l’exemple ci-dessous :
public class SimpleTesting {
public static void main(String[] args) {
boolean isStop = iterate();
if (isStop)
System.out.println("Loop stop");
else
System.out.println("Loop not stop");
}
static boolean iterate() {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(j);
if (i == 2) {
return true;
}
}
System.out.println();
}
return false;
}
}
Production:
0
1
2
3
4
0
1
2
3
4
0
Loop stop