If - Else imbriqués
Fait partie de la section Fondamentaux du Journey Java de Coddy — leçon 32 sur 73.
Nous pouvons imbriquer des instructions if-else if-else les unes dans les autres. Cela nous permet de créer des structures de prise de décision hiérarchiques.
Gardez à l'esprit que des instructions
if profondément imbriquées peuvent rendre le code plus difficile à lire et à maintenir.Par exemple :
if (age > 18) {
if (hasLicense) {
System.out.println("You can drive");
} else {
System.out.println("Get a license first");
}
} else {
System.out.println("Too young to drive");
}
Il peut être imbriqué à l'infini :
if (condition1) {
if (condition2) {
if (condition3) {
// s'exécute uniquement lorsque condition1, condition2 et condition3 sont toutes vraies
...
}
}
}Défi
DébutantCréez un programme qui vérifie si quelqu'un peut monter dans des montagnes russes. Les conditions sont les suivantes :
- Doit avoir au moins 12 ans
- Doit mesurer plus de 150 cm
- S'ils remplissent les deux conditions mais ont moins de 15 ans, ils ont besoin de la surveillance d'un adulte
Affichez exactement ces messages pour chaque cas :
- Si trop jeune :
Sorry, you're too young - Si pas assez grand :
Sorry, you're not tall enough - Si moins de 15 ans et sans adulte :
Sorry, you need an adult with you - Si moins de 15 ans avec un adulte :
You can ride with adult supervision! - Si 15 ans ou plus et assez grand :
You can ride by yourself!
Aide-mémoire
Vous pouvez imbriquer des instructions if-else if-else les unes dans les autres pour créer des structures de prise de décision hiérarchiques :
if (age > 18) {
if (hasLicense) {
System.out.println("You can drive");
} else {
System.out.println("Get a license first");
}
} else {
System.out.println("Too young to drive");
}
L'imbrication peut se faire à l'infini :
if (condition1) {
if (condition2) {
if (condition3) {
// if condition1, condition2 and condition3 are true
...
}
}
}Remarque : Les instructions if profondément imbriquées peuvent rendre le code plus difficile à lire et à maintenir.
Essayez vous-même
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int age = scanner.nextInt(); // Ne modifiez pas cette ligne
int height = scanner.nextInt(); // Ne modifiez pas cette ligne
boolean hasAdult = scanner.nextBoolean(); // Ne modifiez pas cette ligne
// Écrivez votre code ci-dessous
scanner.close();
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Méthodes System.outFormatage de la sortieClasse ScannerRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Méthodes (Fonctions)
Déclaration de méthodesParamètres de méthodeTypes de retourSurcharge de méthodesRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationMéthodes Void13Opérations sur les chaînes
Méthodes de chaînes, partie 1Méthodes de chaînes, partie 2Formatage de chaînesComparaison de chaînes5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 43Variables Partie 2
ConstantesConventions de nommageRécapitulatif - Initialisation des variablesType Casting Partie 1Type Casting Partie 26Prise de décision
Instruction IfIf - ElseInstruction SwitchOpérateur ternaireRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle For - Partie 1Boucle WhileBoucle Do WhileBreakContinueBoucle For - Partie 2Boucles imbriquéesBoucle infinieRécapitulatif - Entrée dynamique12Parcourir les tableaux
Utilisation de la boucle forBoucle for amélioréeOpérations courantes sur les tableaux