1. Séquence des if
déclarations
Parfois, un programme doit effectuer de nombreuses actions différentes en fonction de la valeur d'une variable ou de la valeur d'une expression.
Disons que notre tâche ressemble à ceci :
- Si la température est supérieure à
20
degrés, alors mettez une chemise - Si la température est supérieure à
10
degrés et inférieure à (ou égale à)20
, alors enfilez un pull - Si la température est supérieure à
0
degrés et inférieure à (ou égale à)10
, alors enfilez un imperméable - Si la température est inférieure à
0
degrés, mettez un manteau.
Voici comment cela peut être représenté dans le code :
int temperature = 9;
if (temperature > 20)
System.out.println("put on a shirt");
else // Here the temperature is less than (or equal to) 20
{
if (temperature > 10)
System.out.println("put on a sweater");
else // Here the temperature is less than (or equal to) 10
{
if (temperature > 0)
System.out.println("put on a raincoat");
else // Here the temperature is less than 0
System.out.println("put on a coat");
}
}
If-else
les instructions peuvent être imbriquées les unes dans les autres. Cela permet d'implémenter une logique assez complexe dans un programme.
Mais l'exemple ci-dessus est également intéressant dans la mesure où nous pouvons rendre le code un peu plus simple en omettant les accolades :
int temperature = 9;
if (temperature > 20)
System.out.println("put on a shirt");
else // Here the temperature is less than (or equal to) 20
if (temperature > 10)
System.out.println("put on a sweater");
else // Here the temperature is less than (or equal to) 10
if (temperature > 0)
System.out.println("put on a raincoat");
else // Here the temperature is less than 0
System.out.println("put on a coat");
Cependant, les programmeurs écrivent généralement cette construction un peu différemment :
int temperature = 9;
if (temperature > 20)
System.out.println("put on a shirt");
else if (temperature > 10) // Here the temperature is less than (or equal to) 20
System.out.println("put on a sweater");
else if (temperature > 0) // Here the temperature is less than (or equal to) 10
System.out.println("put on a raincoat");
else // Here the temperature is less than 0
System.out.println("put on a coat");
Ces trois exemples sont équivalents.
2. Nuances du else
bloc
Si vous n'utilisez pas d'accolades dans une if-else
construction, alors le else
fait référence au précédent le plus proche if
.
Exemple:
Notre code | Comment cela fonctionnera-t-il |
---|---|
|
|
Si vous regardez le code sur la gauche, il semble que la sortie d'écran sera "Vous n'avez pas à travailler". Mais ce n'est pas le cas. En réalité, le else
blocage et l'énoncé « Vous n'êtes pas obligé de travailler » sont associés au deuxième if
énoncé (le plus proche).
Dans le code de droite, les associés if
et else
sont surlignés en rouge. De plus, les accolades sont placées sans ambiguïté, montrant clairement quelles actions seront effectuées. La chaîne Vous n'avez pas à travailler n'est-elle jamais affichée lorsque age
est supérieur à 60
?
3. Exemple d'utilisation d'une if-else
déclaration
Puisque nous avons if-else
si bien exploré l'énoncé, donnons un exemple :
import java.util.Scanner;
public class Solution {
public static void main(String[] args)
{
Scanner console = new Scanner(System.in); // Create a Scanner object
int a = console.nextInt(); // Read the first number from the keyboard
int b = console.nextInt(); // Read the second number from the keyboard
if (a < b) // If a is less than b
System.out.println(a); // we display a
else // otherwise
System.out.println(b); // we display b
}
}
GO TO FULL VERSION