Sommaire
- La syntaxe
- Les blocs (vous êtes ici)
- Les classes
- Héritage / classes abstraites / interfaces
Temps de lecture estimé : 30min
Bloc conditionnel
Permet de vérifier qu'une condition est vraie avant d'exécuter du code.
Se note if
...else if
...else
. Les deux derniers sont optionnels.
Exemple :
if (x == 2) {
System.out.println("x est effectivement égal à 2");
}
else {
System.out.println("x est différent de 2");
}
Autre exemple :
if (choix == 1) {
System.out.println("Premier choix");
}
else if (choix == 2) {
System.out.println("Deuxième choix");
}
else if (choix == 3) {
System.out.println("Troisième choix");
}
else {
System.out.println("Attention ! Le choix doit être entre 1 et 3");
}
Blocs itératifs
Bloc while
(tant que)
La boucle itère tant que la condition est vraie.
while (condition) {
...
}
Bloc do..while
(répéter .. tant que)
La boucle itère tant que la condition est vraie, mais contrairement au while
elle s'exécute au moins une fois avant de vérifier la condition.
do {
...
} while (condition); // ne pas oublier le ;
Bloc for(...; ...; ...)
for (A; B; C) {
...
}
est équivalent à :
A;
while (B) {
...
C;
}
Usage le plus courant : faire varier un nombre. Exemple :
for (int i = 0; i < 10; i++) {
...
}
i
va varier de 0 à 9 (car on a écrit < 10
et pas <= 10
).
Bloc for (... : ...)
for (variable : tableau) {
...
}
Permet d'itérer dans un tableau ou une liste.
int[] a = new int[10];
for (int b : a) {
...
}
ou encore
ArrayList<int> a = new ArrayList<>(); // pas obligatoire de préciser <int>, on peut mettre seulement <>
for (int b : a) {
...
}
Mots-clés de boucles
Deux mots-clés spécifiques peuvent être utilisés dans les boucles.
Le mot-clé break
permet de sortir prématurément d'une boucle.
// parcourt le tableau et s'arrête dès qu'un des nombres est supérieur à 5.
int somme = 0;
for (int nb : nombres) {
if (nb > 5) {
break;
}
somme += nb;
}
Le mot-clé continue
permet de sauter l'itération actuelle prématurément.
// va parcourir le tableau, et ignorera tous les nombres négatifs.
int resultat = 0;
for (int nb : nombres) {
if (nb < 0) {
continue;
}
resultat += 5;
resultat *= nb;
resultat += 1;
}
Note : si vous utilisez le mot-clé return
dans une boucle, celui-ci stoppera net l'exécution de la boucle. Exemple :
/**
* Renvoie le premier nombre pair de la liste.
* Si aucun nombre pair n'est trouvé, renvoie -1.
*/
int premierNombrePair(ArrayList<int> nombres) {
for (int nb : nombres) {
if (nb % 2 == 0) {
return nb;
}
}
return -1;
}