Menu
Coddy logo textTech

Nested If - Else

Parte de la sección Fundamentos del Journey de Java de Coddy — lección 32 de 73.

Podemos anidar sentencias if-else if-else unas dentro de otras. Esto nos permite crear estructuras de toma de decisiones jerárquicas.


Tengan en cuenta que las sentencias if profundamente anidadas pueden hacer que el código sea más difícil de leer y mantener.

Por ejemplo:

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

Puede anidarse infinitamente:

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

Desafío

Principiante

Crea un programa que verifique si alguien puede subir a una montaña rusa. Los requisitos son:

  • Debe tener al menos 12 años
  • Debe medir más de 150cm
  • Si cumplen ambos requisitos pero tienen menos de 15, necesitan supervisión de un adulto

Imprime exactamente estos mensajes para cada caso:

  • Si es demasiado joven: Sorry, you're too young
  • Si no mide lo suficiente: Sorry, you're not tall enough
  • Si tiene menos de 15 y no hay adulto: Sorry, you need an adult with you
  • Si tiene menos de 15 con adulto: You can ride with adult supervision!
  • Si tiene 15 o más y mide lo suficiente: You can ride by yourself!

Hoja de referencia

Puedes anidar sentencias if-else if-else una dentro de la otra para crear estructuras de toma de decisiones jerá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");
}

La anidación se puede hacer infinitamente:

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

Nota: Las sentencias if profundamente anidadas pueden hacer que el código sea más difícil de leer y mantener.

Pruébalo tú mismo

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int age = scanner.nextInt(); // No cambies esta línea
        int height = scanner.nextInt(); // No cambies esta línea
        boolean hasAdult = scanner.nextBoolean(); // No cambies esta línea

        // Escribe tu código debajo
        
        scanner.close();
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos