Pour commencer, je vais vous expliquer à quoi servent ces structures conditionnelles. Elles servent tout simplement à pouvoir constituer un programme, en examinant les différents cas de figure que celui-ci propose.
Je m'explique : imaginons un programme qui demande à un utilisateur de rentrer un nombre réel (qui peut être soit négatif, soit nul, soit positif). Les structures conditionnelles vont nous permettre de gérer ces trois cas de figure.
La structure de ces conditions ressemble à ça :
Code : Java 1
2
3
4
5
6
7
8
9
10
11
12 | if(//condition)
{
.....// exécution des instructions si la condition est remplie
.....
.....
}
else
{
....// exécution des instructions si la condition n'est pas remplie
....
....
}
|
Ceci peut se traduire par "SI... SINON...".
Mettons notre petit exemple du dessus en pratique :
Code : Java1
2
3
4
5
6
7 | int i = 10;
if (i < 0)
System.out.println("Le nombre est négatif");
else
System.out.println("Le nombre est positif");
|
Testez ce petit code, et vous verrez comment il fonctionne (par exemple, avec la fonction de pas à pas).
Dans ce cas, notre classe affiche que "
le nombre est positif".
Expliquons un peu ce qui se passe :
- dans un premier temps, la condition du if est testée... (qui dit SI i est strictement inférieur à 0).
- Vu que celle-ci est fausse, le programme exécute le else.
Attends un peu ! Lorsque tu nous a présenté la structure des conditions, tu as mis des accolades et là, tu n'en mets pas...
Bien observé. En fait, les accolades sont la structure "normale" des conditions mais, lorsque le code à l'intérieur d'une d'entre elles n'est composé que d'une seule ligne de code, les accolades deviennent facultatives.
Comme nous avons l'esprit perfectionniste, nous voulons que notre programme affiche "
le nombre est nul", lorsque
i est égal à 0 ; nous allons donc rajouter une condition.
Comment faire... La condition du
if est remplie si le nombre est strictement négatif, ce qui n'est pas le cas ici puisque nous allons le mettre à 0, le code contenu dans la clause
else est donc exécuté si le nombre est égal à 0 et strictement supérieur à 0.
Il nous suffit de rajouter une condition à l'intérieur de la clause
else. Comme ceci :
Code : Java 1
2
3
4
5
6
7
8
9
10
11
12
13 | int i = 0;
if (i < 0)
System.out.println("Ce nombre est négatif !");
else
{
if(i == 0)
System.out.println("Ce nombre est nul !!");
else
System.out.println("Ce nombre est positif !!");
}
|
Ici, la seule petite chose qui devrait vous interpeler, c'est l'
imbrication d'une structure
if... else dans un else. Et encore, parce que je suis tolérant...
Vous voyez aussi que le code à l'intérieur de la première clause
if ne contient qu'une seule ligne de code
[=> accolades facultatives] et que la clause
else correspondante, elle, a plusieurs ligne en son sein
[=> on entoure donc le code de cette dernière avec des accolades]. Les clauses à l'intérieur du premier
else n'ont, elles aussi, qu'une seule ligne de code
[=> accolades facultatives].
Vous verrez vite que vos programmes ne seront que des imbrications de conditions.
Je vous fais voir une autre manière de le faire :
Code : Java 1
2
3
4
5
6
7
8
9
10
11 | int i = 0;
if (i <= 0)
{
if(i == 0)
System.out.println("Ce nombre est nul !!");
else
System.out.println("Ce nombre est négatif !");
}
else
System.out.println("Ce nombre est positif !!");
|
Je pense que ce code parle de lui-même...
Ici, la clause du
if est remplie si
i est
INFÉRIEUR OU ÉGAL à 0,
i vaut 0 la condition est remplie. La suite, vous la connaissez.
Maintenant que vous avez tout compris, je vais vous montrer une autre façon de faire ce code, avec le même résultat (encore heureux !

). En ajoutant juste un petit
SINON SI. Regardez bien la magie.
Code : Java1
2
3
4
5
6
7
8
9 | int i = 0;
if (i < 0)
System.out.println("Ce nombre est négatif !");
else if(i > 0)
System.out.println("Ce nombre est positif !!");
else
System.out.println("Ce nombre est nul !!");
|
Alors ? Explicite, n'est-ce pas ?
- SI i est strictement négatif => exécution du code.
- SINON SI i est positif => exécution du code.
- SINON i est forcément nul => exécution du code.
Il faut absolument donner au
else if une condition pour qu'il fonctionne. Sans cela, Eclipse vous mettra de zolies vagues rouges sous votre
else if.
Vous en avez sûrement déjà vu à de nombreuses reprises...
Par contre, je vais TRÈS FORTEMENT INSISTER sur un point : regardez l'affichage du code : remarquez le petit décalage entre ma première condition et ma deuxième.
On appelle ceci
l'indentation, et comme c'est écrit en gros, en gras et en rouge, c'est que c'est hyper important !
En effet, pour vous repérer dans vos futurs programmes, cela sera très utile. Imaginez deux secondes que vous avez un programme de 700 lignes avec 150 conditions, et que tout est écrit le long du bord gauche. Vous allez vous amuser pour retrouver où commence et où se termine une condition.
Je vous le garantis !
Vous n'êtes pas obligés de le faire, mais je vous assure que vous y viendrez.
À titre d'information, n'essayez pas de faire des comparaisons de String à ce stade. Je vous expliquerai la marche à suivre lors du chapitre sur les fonctions.
Je vois que vous apprenez vite : nous pouvons donc passer à la vitesse supérieure !
Voyons tout de suite
les conditions multiples.