Structures de contrôle #
Les structures de contrôle permettent de modifier le flux d’exécution d’un programme. Vous avez déjà abordé ces concepts lors de précédents cours. Ce chapitre propose de parcourir la syntaxe et de découvrir quelques nouveautés de Java.
Branchement conditionnel #
Syntaxe générale de l’instruction if
#
|
|
Syntaxe générale de l’instruction switch
#
|
|
Dans l’exemple d’utilisation ci-dessous, le mot-clé break
a été omis. Il est rarement utile de ne pas l’indiquer. Le code devient difficile à comprendre.
|
|
Même exemple corrigé:
|
|
Syntaxe générale de l’expression switch
#
Le switch peut s’utiliser en tant qu’expressions, par opposition à une instruction. C’est-à-dire qu’elle peut retourner une valeur. Introduite dans la version 14 de Java (2020), aucune ambiguïté n’est possible avec le break
. Celui-ci est implicite.
|
|
L’expression switch peut également être employée avec une syntaxe proche des anciennes versions à l’aide du mot-clé yield
, évitant les défauts lié au break
.
|
|
Expression conditionnelle #
Syntaxe générale: valeur = condition ? valeur_si_vrai : valeur_si_faux;
L’instruction:
|
|
devient, à l’aide d’une expression conditionnelle:
String type = age >= 18 ? "Majeur" : "Mineur";
Conseil
Evitez le code inutile dans vos fonctions. Le motif ci-dessous est un exemple que je vois couramment chez les étudiants lorsqu’il est nécessiare de vérifier une condition :
1 2 3 4 5 6 7
boolean isAdult(int age) { if (age >= 18) { return true; } else { return false; } }
La condition peut directement être retournée:
1 2 3
boolean isAdult(int age) { return age >= 18; }
Autre exemple où l’expression ternaire peut raccourcir le code:
1 2 3 4 5 6 7
int min(int a, int b) { if (a < b) { return a; } else { return b; } }
Peut être remplacé par:
1 2 3
int min(int a, int b) { return a < b ? a : b; }
Les boucles #
Boucle préconditionnelle #
Répétition d’instruction tant qu‘une condition est vérifiée a priori
|
|
Voici un exemple
|
|
Boucle post-conditionnelle #
Répétition d’instruction tant qu‘une condition est vérifiée a posteriori. Le bloc est exécuté au moins une fois.
|
|
Voici un exemple:
|
|
Boucle d’itération #
Cette boucle reste une boucle préconditionnelle.
|
|
Exemple de parcours d’un tableau statique:
|
|
Boucle de parcours #
Cette boucle est à privilégier lorsque vous parcourez des collections. Elle garantit que chaque élément est traité et elle permet de référencer l’élément directement et avec le bon type. Elle est donc plus sûre que les boucles précédentes et moins sujette aux erreurs.
Syntaxe:
|
|
Exemple d’utilisation:
|
|
Style déclaratif #
Ce style sera petit à petit privilégié pour la manipulation des collections. Si vous êtes à l’aise avec, vous pouvez déjà les utiliser.
|
|