Menu
Coddy logo textTech

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
		    ...
		}
	}
}
challenge icon

Défi

Débutant

Cré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();
    }
}
quiz iconTestez-vous

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