Menu
Coddy logo textTech

Nested If - Else

Parte da seção Fundamentos do Journey de Java da Coddy — lição 32 de 73.

Podemos aninhar instruções if-else if-else umas dentro das outras. Isso nos permite criar estruturas hierárquicas de tomada de decisão.


Tenha em mente que instruções if profundamente aninhadas podem tornar o código mais difícil de ler e manter.

Por exemplo:

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");
}

Pode ser aninhado infinitamente:

if (condition1) {
	if (condition2) {
		if (condition3) {
		    // runs only when condition1, condition2 and condition3 are all true
		    ...
		}
	}
}
challenge icon

Desafio

Iniciante

Crie um programa que verifica se alguém pode andar em uma montanha-russa. Os requisitos são:

  • Deve ter pelo menos 12 anos
  • Deve ter mais de 150 cm de altura
  • Se atenderem a ambos os requisitos, mas tiverem menos de 15 anos, precisam de supervisão de um adulto

Imprima exatamente estas mensagens para cada caso:

  • Se jovem demais: Sorry, you're too young
  • Se não alto o suficiente: Sorry, you're not tall enough
  • Se menor de 15 e sem adulto: Sorry, you need an adult with you
  • Se menor de 15 com adulto: You can ride with adult supervision!
  • Se 15 ou mais e alto o suficiente: You can ride by yourself!

Folha de consulta

Você pode aninhar instruções if-else if-else umas dentro das outras para criar estruturas de tomada de decisão hierárquicas:

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");
}

O aninhamento pode ser feito infinitamente:

if (condition1) {
    if (condition2) {
        if (condition3) {
            // if condition1, condition2 and condition3 are true
            ...
        }
    }
}

Nota: Instruções if profundamente aninhadas podem tornar o código mais difícil de ler e manter.

Experimente você mesmo

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int age = scanner.nextInt(); // Não altere esta linha
        int height = scanner.nextInt(); // Não altere esta linha
        boolean hasAdult = scanner.nextBoolean(); // Não altere esta linha

        // Escreva seu código abaixo
        
        scanner.close();
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos