Domina las Sentencias Condicionales (if, else, switch) en Java
¿Quieres ser un verdadero maestro de la programación en Java? Entonces, dominar las sentencias condicionales if, else y switch es un paso crucial en tu viaje. En esta clase, te guiaremos a través de los conceptos esenciales, ejemplos prácticos y ejercicios resueltos para que puedas tomar el control total de tus flujos de ejecución. ¡Prepárate para llevar tus habilidades de programación en Java al siguiente nivel!
Índice
- 1. ¿Qué son las Sentencias Condicionales en Java?
- 2. Sentencias if: La Base de las Condicionales
- 3. Sentencias else: Manejando Casos Alternativos
- 4. Sentencias else if: Manejando Múltiples Condiciones
- 5. Switch: Una Alternativa Poderosa para Múltiples Condiciones
- 6. Conclusión
- 7. Ejercicios Resueltos
- 8. Preguntas Frecuentes
¿Qué son las Sentencias Condicionales en Java?
Antes de sumergirnos en los detalles, es importante comprender qué son las sentencias condicionales en Java. Estas sentencias te permiten controlar el flujo de ejecución de tu programa en función de ciertas condiciones o valores.
En otras palabras, te ayudan a tomar decisiones basadas en diferentes escenarios, lo que te brinda un control total sobre cómo se ejecuta tu código.
Sentencias if: La Base de las Condicionales
La sentencia if
es la más básica y fundamental de las sentencias condicionales en Java. Te permite ejecutar un bloque de código si se cumple una determinada condición. Aquí tienes un ejemplo sencillo:
public static void main(String[] args) {
int edad = 18;
if (edad >= 18) {
System.out.println("Eres mayor de edad.");
}
}
En este caso, el bloque de código dentro de las llaves {}
se ejecutará solo si la condición edad >= 18
es verdadera. Si la condición es falsa, el programa simplemente continuará con la siguiente línea de código.
Sentencias else: Manejando Casos Alternativos
Pero, ¿qué sucede si quieres ejecutar un código diferente cuando la condición no se cumple? Ahí es donde entra en juego la sentencia else
. La sentencia else te permite especificar un bloque de código alternativo que se ejecutará si la condición inicial no se cumple. Veamos un ejemplo:
public static void main(String[] args) {
int edad = 18;
if (edad >= 18) {
System.out.println("Eres mayor de edad.");
} else {
System.out.println("Eres menor de edad.");
}
}
En este caso, si edad
es mayor o igual a 18
, se imprimirá "Eres mayor de edad". De lo contrario, se imprimirá "Eres menor de edad".
Sentencias else if: Manejando Múltiples Condiciones
En ocasiones, puede haber situaciones en las que necesites evaluar más de una condición. Aquí es donde entra en juego la sentencia else if
. Esta sentencia te permite encadenar múltiples condiciones, permitiéndote ejecutar diferentes bloques de código según las condiciones que se cumplan.
public static void main(String[] args) {
int calificacion = 75;
if (calificacion >= 90) {
System.out.println("Excelente trabajo, obtuviste una A.");
} else if (calificacion >= 80) {
System.out.println("Muy bien, obtuviste una B.");
} else if (calificacion >= 70) {
System.out.println("Buen esfuerzo, obtuviste una C.");
} else if (calificacion >= 60) {
System.out.println("Necesitas mejorar, obtuviste una D.");
} else {
System.out.println("Lo siento, has reprobado.");
}
}
En este ejemplo, evaluamos la calificación de un estudiante utilizando múltiples sentencias else if
. Si la calificación es mayor o igual a 90, se imprime "Excelente trabajo, obtuviste una A". Si no se cumple esa condición, se evalúa la siguiente condición (else if (calificacion >= 80)
), y así sucesivamente hasta que se encuentre una condición que se cumpla o se llegue al bloque else final.
Switch: Una Alternativa Poderosa para Múltiples Condiciones
Aunque las sentencias if
y else
son extremadamente útiles, hay situaciones en las que necesitas evaluar múltiples condiciones. En estos casos, la sentencia switch
puede ser una alternativa más eficiente y legible. La sentencia switch
te permite evaluar una expresión y ejecutar diferentes bloques de código en función del valor de esa expresión. Veamos un ejemplo:
public static void main(String[] args) {
int dia = 3;
switch (dia) {
case 1:
System.out.println("Lunes");
break;
case 2:
System.out.println("Martes");
break;
case 3:
System.out.println("Miércoles");
break;
default:
System.out.println("Otro día");
break;
}
}
En este ejemplo, la variable dia
tiene el valor 3. Por lo tanto, la salida será "Miércoles". Si dia
tuviera un valor diferente a 1, 2 o 3, se ejecutaría el bloque default
.
Conclusión
¡Felicidades! Ahora tienes un sólido entendimiento de las sentencias condicionales (if
, else
, switch
) en Java y cómo aplicarlas en diferentes situaciones. Recuerda practicar constantemente y explorar más ejemplos para solidificar tus habilidades. Con estas herramientas en tu arsenal, podrás crear programas más complejos y eficientes, controlando el flujo de ejecución de manera precisa.
IMPORTANTE:
Puedes ver todo el código utilizado en el apartado en el siguiente enlace
Preguntas Frecuentes
Las sentencias if-else son más adecuadas para evaluar una o dos condiciones simples, mientras que la sentencia switch es más eficiente y legible cuando se tienen múltiples condiciones que evaluar. Sin embargo, con la introducción de las expresiones switch en Java 14, es posible utilizar switch en situaciones más complejas.
Sí, puedes anidar sentencias condicionales (if dentro de if, switch dentro de if, etc.) para manejar situaciones más complejas. Sin embargo, es importante mantener un código legible y evitar la complejidad excesiva.
Si olvidas la sentencia break en un caso de una sentencia switch, se producirá un comportamiento conocido como "caída" (fallthrough), donde se ejecutarán todos los casos siguientes hasta que se encuentre un break o se alcance el final de la sentencia switch.
Sí, puedes utilizar operadores lógicos como && (AND), || (OR) y ! (NOT) para combinar condiciones en las sentencias if y switch. Esto te permite evaluar condiciones más complejas.
El bloque else if te permite agregar condiciones adicionales después de la condición inicial if. Se utiliza cuando necesitas evaluar múltiples condiciones en una secuencia específica.
Ejercicios Resueltos
Verificar si un número es par o impar
Verifica si un número almacenado en una variable llamada numero es par o impar
En este ejemplo, utilizamos el operador módulo
%
para verificar si el residuo de dividirnumero
por 2 es 0 (lo que significa que es par) o 1 (lo que significa que es impar). Si el residuo es 0, se ejecuta el bloqueif
, de lo contrario, se ejecuta el bloqueelse
.Calcular el descuento en una tienda
Dada una variable precioInicial que contiene el precio del producto y una variable descuento muestra el precio del producto, el descuento en porcentaje y el precio final del producto aplicando el descuento
En este ejemplo, utilizamos varias sentencias
if-else-if
para determinar el descuento aplicable en función del precio inicial. Si el precio inicial es mayor o igual a €200, se aplica un descuento del 20%. Si el precio inicial es mayor o igual a €100 pero menor que €200, se aplica un descuento del 10%. Si el precio inicial es menor que €100, no se aplica ningún descuento. Finalmente, se calcula el precio final aplicando el descuento correspondiente.Validar una contraseña
Valida una contraseña para que tenga: más de 8 caracteres, y al menos un dígito, una letra minúscula y una letra mayúscula y un carácter especial.
En este ejemplo, validamos una contraseña utilizando sentenciasif anidadas. Primero, verificamos si la longitud de la contraseña es de al menos 8 caracteres. Si es así, iteramos a través de cada carácter de la contraseña y verificamos si contiene al menos un dígito, una letra mayúscula, una letra minúscula y un carácter especial. Si se cumplen todas estas condiciones, la contraseña se considera válida; de lo contrario, se considera inválida.