if, ternaire, switch, while, do…while et for.
5.1.1 Condition if
- L’instruction
if exécute l’instruction ou le bloc qui la suit si la condition booléenne est vraie. - Le
else optionnel précise ce qu’il faut exécuter si la condition est fausse.
if (condition1) {
instruction1;
} else if (condition2) {
instruction2;
} else {
instructionSinon;
}
5.1.2 Opérateur ternaire
Si une instruction if ne contient qu’un assignement de valeur, on peut préférer l’opérateur ternaire ? :.
if (niveauJoueur > 3) {
bonusXP = 5;
} else {
bonusXP = 10;
}
// est equivalent a
bonusXP = (niveauJoueur > 3) ? 5 : 10;
5.2 Branchements conditionnels (switch)
L’instruction switch permet d’exécuter du code selon la valeur d’une expression.
switch (expression) {
case constante1 :
instr11;
instr12;
break;
case constante2 :
break;
default :
// ...
}
Le fall-through : ici, a vaut 2
public class Demo {
public static void main(String[] args) {
int a = 0;
int expression = 0;
switch (expression) {
case 0 :
a++;
case 1 :
a++;
break;
default :
a = -1;
}
System.out.println("a vaut " + a);
}
}
5.4 Boucle while
Une boucle while exécute le bloc qui la suit tant que la condition est vraie. La condition est évaluée en début de chaque itération.
while (condition) {
instruction;
}
Si la condition est fausse avant le while, le corps de la boucle ne sera jamais exécuté.
5.5 Boucle do…while
La condition est évaluée en fin de chaque itération.
do {
instructions;
} while (condition);
5.6 Boucle for
for (initialisation; condition; modification) {
// instructions
}
Le corps de la boucle est exécuté tant que condition est vraie, et modification est appliquée à chaque tour.
Les trois boucles, côte à côte
public class Demo {
public static void main(String[] args) {
System.out.print("for :");
for (int i = 1; i <= 5; i++) {
System.out.print(" " + i);
}
System.out.println();
System.out.print("while :");
int j = 1;
while (j <= 5) {
System.out.print(" " + j);
j++;
}
System.out.println();
System.out.print("do while :");
int k = 10;
do {
System.out.print(" " + k); // s'execute meme si la condition est fausse
k++;
} while (k <= 5);
System.out.println();
}
}