Programmation en Java – Les structures conditionnelles
Les structures conditionnelles exigent que le programmeur spécifie une ou plusieurs conditions à évaluer ou à tester par le programme, et consiste à décider l’ordre d’exécution des déclarations en fonction de certaines conditions ou à répéter un groupe d’instruction jusqu’à ce que certaines conditions spécifiées soient remplies.
L’image suivante montre la forme générale d’une structures conditionnelles typique trouvée dans la plupart des langages de programmation
Description de chaque déclaration |
---|
Déclaration if Consiste en une expression booléenne suivie d’une ou plusieurs instructions. |
Déclaration if…else L’instruction « if » peut être suivie d’une instruction optionnelle « else », qui s’exécute lorsque l’expression booléenne est false. |
Déclaration imbriqués if L’instruction switch permet de tester l’égalité d’une variable à une liste de valeurs. |
Déclaration switch Vous pouvez utiliser une instruction « if » ou « else if » dans une autre instruction « if » ou « else if ». |
Déclaration imbriqués switch Vous pouvez utiliser une instruction switch dans une autre instruction switch (s). |
Déclaration if
La forme générale d’une déclaration if est,
if( expression ) { Declaration-interieur; } Declaration-exterieur;
Si l’expression est vraie, alors ‘Declaration-interieur’ elle sera exécutée, sinon ‘Declaration-interieur’ est ignoré et seulement ‘Declaration-exterieur’ est exécuté.
Exemple :
public class Test { public static void main(String args[]) { int x,y; x=15; y=13; if (x > y ) { System.out.print("x est supérieur à yn"); } } }
La sortie :
x est supérieur à y
Déclaration if…else
La forme générale d’une instruction if … else est,
if( expression ) { Bloc-instructions-1; }else { Bloc-instructions-2; }
Si l’expression est vraie, le ‘Bloc-instructions-1’ est exécuté, sinon ‘Bloc-instructions-1’ est ignoré et ‘Bloc-instructions-2’ est exécuté.
Exemple :
public class ClassTest { public static void main(String args[]) { int x,y; x=14; y=19; if (x > y ) { System.out.print("x est supérieur à y"); } else { System.out.print("y est supérieur à x"); } } }
La sortie :
y est superieur à x
Déclaration imbriqués if
La forme générale d’une instruction imbriquée if … else est,
if( expression ) { if( expression1 ) { Bloc-instructions1; } else { Bloc-instructions2; } }else { Bloc-instructions3; }
Si ‘expression’ est fausse, ‘Bloc-instructions3’ sera exécuté, sinon il continue à effectuer le test pour ‘expression 1’. Si l ‘expression 1 est vraie, ‘Bloc-instructions1’ est exécutée sinon ‘Bloc-instructions2’ est exécutée.
Exemple :
public class ClassTest { public static void main(String args[]) { int a = 40; int b = 20; if( a == 40 ) { if( b == 20 ) { System.out.print("A = 40 et B = 20"); } } } }
La sortie :
A = 40 et B = 20
Déclaration else if
La forme générale de else if est,
if(expression1) { Bloc-instructions1; }else if(expression2) { Bloc-instructions2; }else if(expression3 ) { Bloc-instructions3; }else Bloc-instructions4;
L’expression est testée à partir du haut vers le bas. Dès que l’état réel est trouvé, l’instruction qui lui est associée est exécutée.
Exemple :
public class ClassTest { public static void main(String args[]) { int a; a = 24; if( a%5==0 && a%8==0) { System.out.print("divisible par les 5 et 8"); } else if( a%8==0 ) { System.out.print("divisible par 8"); } else if(a%5==0) { System.out.print("divisible par 5"); } else { System.out.print("non divisible"); } } }
L’ opérateur ternaire ? :
Nous avons couvert l’opérateur conditionnel ? : Dans le chapitre précédent, qui peut être utilisé pour remplacer les instructions if … else. Il a la forme générale suivante
Exp1 ? Exp2 : Exp3;
Exp1, Exp2 et Exp3 sont des expressions.
Si Exp1 est vrai donc Exp2 sera exécuter sinon Exp3 qui sera exécuter.
Les points à retenir
1- Dans une déclaration if, si on a une seule instruction à l’intérieur donc vous n’êtes pas obliger de fermer les accolades {}
int a = 5; if(a > 4) System.out.print("success");
Aucun accolade n’est nécessaire dans le cas ci-dessus, mais si nous avons plus d’une déclaration à l’intérieur nous devons fermer les accolades.
2- L’opérateur == doit être utilisé pour la comparaison dans l’expression if , si vous utilisez l’expression = renverra toujours true, car elle effectue l’affectation et non la comparaison.
3- Toutes les valeurs sont considérées comme vraies sauf 0 (zéro).
if(45) System.out.print("bonjour");
Dans l’exemple ci-dessus, bonjour sera affichée.