¿Qué es una estructura if
/ if-else
?
Es una estructura de selección (también llamada condicional). Permite elegir entre diferentes caminos que puede seguir el programa, dependiendo de si una condición es verdadera o falsa.
Imagina que estás en casa y piensas: “Si llueve, me llevo paraguas.” Eso sería una estructura if
:
if (llueve) {
llevarParaguas();
}
Pero si además quieres hacer algo distinto si no llueve: “Si llueve, me llevo paraguas. Si no llueve, me pongo gafas de sol.” Entonces eso sería un if-else
:
if (llueve) {
llevarParaguas();
} else {
ponerGafasDeSol();
}
Estructura if
simple:
El if
evalúa una condición lógica (que da como resultado true
o false
). Se usa cuando solo necesitas hacer algo si se cumple la condición, y no pasa nada si no se cumple. Si es verdadera, ejecuta el bloque de código que está dentro. Si es falsa, lo salta.
Sintaxis:
if (condición) {
// Instrucciones que se ejecutan si la condición es verdadera
}
Ejemplo:
aint edad = 20;
if (edad >= 18) {
System.out.println("Puedes votar.");
}
✔️ En este caso, se imprime el mensaje porque la condición edad >= 18
es verdadera.
Estructura if-else
(doble alternativa)
Se usa cuando quieres que pase una cosa si se cumple la condición, y otra distinta si no se cumple.
Sintaxis:
if (condición) {
// Código si la condición es verdadera
} else {
// Código si la condición es falsa
}
Ejemplo:
int temperatura = 10;
if (temperatura >= 20) {
System.out.println("Hace calor.");
} else {
System.out.println("Hace frío.");
}
✔️ En este caso, se imprime “Hace frío” porque la condición es falsa.
Si solo hay una instrucción, puedes omitir las llaves, aunque se recomienda usarlas siempre para evitar errores.
if (nota >= 5)
System.out.println("Aprobado");
else
System.out.println("Suspenso");
Anidamiento de if / if-else:
Puedes poner un if
dentro de otro. Pero cuidado, si pones muchos if
dentro de otros, puede volverse confuso. En ese caso, podrías usar estructuras como switch
, o manejarlo de otra forma.
Ejemplo:
int edad = 70;
if (edad >= 18) {
if (edad >= 65) {
System.out.println("Eres jubilado.");
} else {
System.out.println("Eres adulto.");
}
} else {
System.out.println("Eres menor de edad.");
}
¿Qué está pasando aquí?
edad
vale 70if (edad >= 18)
→ Es verdadero, porque 70 ≥ 18- Entonces entra al primer
if
y evalúa el segundo:if (edad >= 65)
→ También es verdadero, porque 70 ≥ 65
- Por lo tanto, se ejecuta: Eres jubilado.
Actividades de programación
Actividad 1: ¿Par o impar?
Escribe un programa en Java que solicite al usuario un número y determine si es par o impar usando una estructura de selección.
public class ParImpar {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(“Introduce un número entero”);
int number = scanner.nextInt();
if(number%2==0){
System.out.println(“El número ” + number + ” es par”);
}else{
System.out.println(“El número ” + number + ” es impar”);
}
}
}
Actividad 2: Clasificador de edades
Escribir un programa que lea una edad y clasifique a la persona en una categoría.
- Pide al usuario que introduzca su edad.
- Usa
if-else
para mostrar uno de los siguientes mensajes según el valor:- Menor de 12: “Eres un niño/a”
- Entre 13 y 17: “Eres un adolescente”
- Entre 18 y 64: “Eres un adulto”
- 65 o más: “Eres un jubilado”
import java.util.Scanner;
public class ClasificadorEdad {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print(“Introduce tu edad: “);
int edad = scanner.nextInt();
if (edad < 12) {
System.out.println(“Eres un niño/a”);
} else if (edad <= 17) {
System.out.println(“Eres un adolescente”);
} else if (edad <= 64) {
System.out.println(“Eres un adulto”);
} else {
System.out.println(“Eres un jubilado”);
}
}
}
Actividad 3: Calculadora de calificaciones
Convertir una nota numérica en una calificación textual.
- Pide al usuario que introduzca una nota del 0 al 10.
- Usa
if-else
para mostrar la calificación:- Menos de 5: “Insuficiente”
- 5 a 5.9: “Suficiente”
- 6 a 6.9: “Bien”
- 7 a 8.9: “Notable”
- 9 a 10: “Sobresaliente”
import java.util.Scanner;
public class CalificacionNota {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print(“Introduce tu nota (0 – 10): “);
double nota = scanner.nextDouble();
if (nota < 0 || nota > 10) {
System.out.println(“Nota no válida”);
} else if (nota < 5) {
System.out.println(“Insuficiente”);
} else if (nota < 6) {
System.out.println(“Suficiente”);
} else if (nota < 7) {
System.out.println(“Bien”);
} else if (nota < 9) {
System.out.println(“Notable”);
} else {
System.out.println(“Sobresaliente”);
}
}
}