Las sentencias condicionales son fundamentales en cualquier lenguaje de programación, ya que permiten tomar decisiones basadas en condiciones específicas. En Java, las sentencias condicionales más comunes son if
, else if
, else
y switch
.
- Sentencia
if
if
La sentencia if
se utiliza para ejecutar un bloque de código solo si una condición específica es verdadera.
Sintaxis
Ejemplo
public class IfExample { public static void main(String[] args) { int number = 10; if (number > 0) { System.out.println("El número es positivo."); } } }
En este ejemplo, el mensaje "El número es positivo." se imprimirá porque la condición number > 0
es verdadera.
- Sentencia
if-else
if-else
La sentencia if-else
permite ejecutar un bloque de código si la condición es verdadera y otro bloque si la condición es falsa.
Sintaxis
if (condición) { // Bloque de código a ejecutar si la condición es verdadera } else { // Bloque de código a ejecutar si la condición es falsa }
Ejemplo
public class IfElseExample { public static void main(String[] args) { int number = -10; if (number > 0) { System.out.println("El número es positivo."); } else { System.out.println("El número es negativo o cero."); } } }
En este ejemplo, el mensaje "El número es negativo o cero." se imprimirá porque la condición number > 0
es falsa.
- Sentencia
else if
else if
La sentencia else if
se utiliza para verificar múltiples condiciones. Si una condición es verdadera, se ejecuta el bloque de código correspondiente y se omiten las demás condiciones.
Sintaxis
if (condición1) { // Bloque de código a ejecutar si la condición1 es verdadera } else if (condición2) { // Bloque de código a ejecutar si la condición2 es verdadera } else { // Bloque de código a ejecutar si ninguna de las condiciones anteriores es verdadera }
Ejemplo
public class ElseIfExample { public static void main(String[] args) { int number = 0; if (number > 0) { System.out.println("El número es positivo."); } else if (number < 0) { System.out.println("El número es negativo."); } else { System.out.println("El número es cero."); } } }
En este ejemplo, el mensaje "El número es cero." se imprimirá porque las condiciones number > 0
y number < 0
son falsas.
- Sentencia
switch
switch
La sentencia switch
se utiliza para seleccionar una de entre múltiples opciones basadas en el valor de una expresión. Es una alternativa más limpia y legible a múltiples sentencias else if
.
Sintaxis
switch (expresión) { case valor1: // Bloque de código a ejecutar si expresión == valor1 break; case valor2: // Bloque de código a ejecutar si expresión == valor2 break; // Puedes tener tantos casos como necesites default: // Bloque de código a ejecutar si ninguno de los casos anteriores es verdadero }
Ejemplo
public class SwitchExample { public static void main(String[] args) { int day = 3; String dayName; switch (day) { case 1: dayName = "Lunes"; break; case 2: dayName = "Martes"; break; case 3: dayName = "Miércoles"; break; case 4: dayName = "Jueves"; break; case 5: dayName = "Viernes"; break; case 6: dayName = "Sábado"; break; case 7: dayName = "Domingo"; break; default: dayName = "Día inválido"; break; } System.out.println("El día es: " + dayName); } }
En este ejemplo, el mensaje "El día es: Miércoles" se imprimirá porque el valor de day
es 3.
Ejercicios Prácticos
Ejercicio 1
Escribe un programa que determine si un número ingresado por el usuario es par o impar.
Solución
import java.util.Scanner; public class ParImpar { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Ingresa un número: "); int number = scanner.nextInt(); if (number % 2 == 0) { System.out.println("El número es par."); } else { System.out.println("El número es impar."); } } }
Ejercicio 2
Escribe un programa que determine la calificación de un estudiante basada en su puntaje. Usa la siguiente tabla:
Puntaje | Calificación |
---|---|
90-100 | A |
80-89 | B |
70-79 | C |
60-69 | D |
0-59 | F |
Solución
import java.util.Scanner; public class Calificacion { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Ingresa el puntaje del estudiante: "); int score = scanner.nextInt(); char grade; if (score >= 90 && score <= 100) { grade = 'A'; } else if (score >= 80 && score <= 89) { grade = 'B'; } else if (score >= 70 && score <= 79) { grade = 'C'; } else if (score >= 60 && score <= 69) { grade = 'D'; } else { grade = 'F'; } System.out.println("La calificación es: " + grade); } }
Conclusión
En esta sección, hemos aprendido sobre las sentencias condicionales en Java, incluyendo if
, else if
, else
y switch
. Estas estructuras de control son esenciales para tomar decisiones en nuestros programas. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión. En el próximo módulo, exploraremos los bucles, que nos permitirán ejecutar bloques de código repetidamente bajo ciertas condiciones.
Curso de Programación en Java
Módulo 1: Introducción a Java
- Introducción a Java
- Configuración del Entorno de Desarrollo
- Sintaxis y Estructura Básica
- Variables y Tipos de Datos
- Operadores
Módulo 2: Flujo de Control
Módulo 3: Programación Orientada a Objetos
- Introducción a la POO
- Clases y Objetos
- Métodos
- Constructores
- Herencia
- Polimorfismo
- Encapsulamiento
- Abstracción
Módulo 4: Programación Orientada a Objetos Avanzada
Módulo 5: Estructuras de Datos y Colecciones
Módulo 6: Manejo de Excepciones
- Introducción a las Excepciones
- Bloque Try-Catch
- Throw y Throws
- Excepciones Personalizadas
- Bloque Finally
Módulo 7: Entrada/Salida de Archivos
- Lectura de Archivos
- Escritura de Archivos
- Flujos de Archivos
- BufferedReader y BufferedWriter
- Serialización
Módulo 8: Multihilo y Concurrencia
- Introducción al Multihilo
- Creación de Hilos
- Ciclo de Vida de un Hilo
- Sincronización
- Utilidades de Concurrencia
Módulo 9: Redes
- Introducción a las Redes
- Sockets
- ServerSocket
- DatagramSocket y DatagramPacket
- URL y HttpURLConnection