1. break
déclaration
Reprenons un exemple de la leçon précédente :
Code | Explication |
---|---|
|
Le programme lira une ligne du clavier, jusqu'à ce que vous saisissiez "exit" . |
Le programme lit les lignes de la console jusqu'à ce que le mot exit
soit saisi. Si vous entrez ce mot, alors la isExit
variable devient true
, la condition de la boucle sera , et la boucle se terminera."!isExit
false
Java a une instruction spéciale break
qui vous permet de simplifier une telle logique. Si une break
instruction est exécutée à l'intérieur d'une boucle, la boucle se termine immédiatement. Le programme commencera à exécuter l'instruction qui suit la boucle. L'énoncé est très bref :
break;
Voici comment vous pouvez utiliser l' break
instruction pour réécrire l'exemple dont nous venons de parler :
Code | Explication |
---|---|
|
Le programme lira une ligne du clavier, jusqu'à ce que vous saisissiez "exit" . |
2. continuer la déclaration
Mais break
ce n'est pas la seule instruction Java qui vous permet de contrôler le comportement d'une boucle. Java a également la continue
déclaration. Si vous exécutez une continue
instruction à l'intérieur d'une boucle, l'itération actuelle de la boucle se terminera plus tôt que prévu.
L'exécution unique du corps de la boucle s'appelle une itération de la boucle. L' continue
instruction interrompt l'itération en cours de la boucle, mais contrairement à l' break
instruction, elle ne termine pas la boucle elle-même. La déclaration est également brève :
continue;
L' continue
instruction est super pratique dans une boucle si nous voulons "sauter" l'exécution du corps de la boucle dans certaines situations.
Tâche : Nous voulons écrire un programme qui imprime les nombres de 1
à 20
mais ignore les nombres divisibles par 7
. Voici à quoi pourrait ressembler ce code.
Code | Explication |
---|---|
|
Le programme affiche les nombres de 1 à 20 . Si le nombre est divisible par 7 (le reste de la division par 7 est 0 ), alors nous sautons l'affichage du nombre. |
En fait, ce code ne fonctionnera pas , car i
il sera à jamais bloqué sur le numéro 7
. Après tout, l' continue
instruction ignore deux autres instructions : System.out.println(i)
et i++
. Par conséquent, une fois que nous aurons atteint la valeur 7
, la variable i
cessera de changer et nous serons dans une boucle infinie.
Nous avons écrit le code de cette manière exprès pour illustrer cette erreur très courante. Comment pouvons-nous résoudre ce problème?
Il y a deux options ici:
Option 1 : modifier i
avant d'exécuter continue
, mais aprèsi % 7
Option 2 : toujours incrémenter i
au début de la boucle. Mais alors i
la valeur de départ doit être 0
.
Option 1 | Option 2 |
---|---|
|
|