Les structures de contrôles en Java

Les Boucles
while ( boolean )
{
... // code a éxécuter dans la boucle
}

Le code est exécuté tant que le booléen est vrai. Si avant l’instruction while, le booléen est faux, alors le code de la boucle ne sera jamais exécuté
Ne pas mettre de ; après la condition sinon le corps de la boucle ne sera jamais exécuté
do {
...
while ( boolean )

Cette boucle est au moins exécuté une fois quelque soit la valeur du booléen;
for ( initialisation; condition; modification) {
...
}

Exemple :
for (i = 0 ; i < 10; i++ ) { ....}
for (int i = 0 ; i < 10; i++ ) { ....}
for ( ; ; ) { ... } // boucle infinie

L’initialisation, la condition et la modification de l’index sont optionels.
Dans l’initialisation, on peut déclarer une variable qui servira d’index et qui sera dans ce cas locale à la boucle.
Il est possible d’inclure plusieurs traitements dans l’initialisation et la modification de la boucle : chacun des traitements doit etre séparé par une virgule.
Exemple :
for (i = 0 , j = 0 ; i * j < 1000;i++ , j+= 2) { ....}
La condition peut ne pas porter sur l’index de la boucle :
Exemple :
boolean trouve = false;
for (int i = 0 ; !trouve ; i++ ) {
if ( tableau[i] == 1 )
trouve = true;... //gestion de la fin du parcours du tableau
}

Il est possible de nommer une boucle pour permettre de l’interrompre même si cela est peu recommendé :
Exemple :
int compteur = 0;
boucle:
while (compteur < 100) {
for(int compte = 0 ; compte < 10 ; compte ++) {
compteur += compte;
System.out.println("compteur = "+compteur);
if (compteur> 40) break boucle;
}
}

Les branchements conditionnels
if (boolean) {
...
} else if (boolean) {
...
} else {
...

}
swith (expression) {
case constante1 :
instr11;
instr12;
break;
case constante2 :
...
default :
...
}

On ne peut utiliser switch qu’avec des types primitifs d’une taille maximum de 32 bits (byte, short, int, char).
Si une instruction case ne contient pas de break alors les traitements associés au case suivant sont éxécutés.
Il est possible d’imbriquer des switch
L’opérateur ternaire : ( condition ) ? valeur−vrai : valeur−faux
Exemple :
if (niveau == 5) // equivalent à total = (niveau ==5) ? 10 : 5;
total = 10;
else total = 5 ;
System.out.println((sexe == « H ») ? « Mr » : « Mme »);

Les débranchements
break : permet de quitter immédiatement une boucle ou un branchement. Utilisable dans tous les controles de flot
continue : s’utilise dans une boucle pour passer directement à l’itération suivante
break et continue peuvent s’excuter avec des blocs nommés. Il est possible de préciser une étiquette pour indiquer le point de retour lors de la fin du traitement déclenché par le break.
Une étiquette est un nom suivi d’un deux points qui définit le début d’une instruction.

 

Leave a Reply