Introducción
Las estructuras básicas en programación son fundamentales para controlar el flujo de ejecución de un programa y para la manipulación de datos. En este artículo, abordaremos la teoría y proporcionaremos ejercicios prácticos sobre las estructuras de control condicionales y repetitivas más comunes: if
, switch
, for
, while
, y do-while
.
Teoría
1. Estructuras de Control Condicional
1.1. if
y if-else
La estructura if
permite ejecutar un bloque de código si una condición específica es verdadera. La variante if-else
permite definir un bloque alternativo que se ejecutará si la condición es falsa.
Sintaxis:
if (condición) {
// Código a ejecutar si la condición es verdadera
} else {
// Código a ejecutar si la condición es falsa
}
Ejemplo:
int edad = 18;
if (edad >= 18) {
System.out.println("Eres mayor de edad.");
} else {
System.out.println("Eres menor de edad.");
}
1.2. switch
La estructura switch
permite seleccionar entre múltiples bloques de código según el valor de una expresión.
Sintaxis:
switch (expresión) {
case valor1:
// Código a ejecutar si expresión == valor1
break;
case valor2:
// Código a ejecutar si expresión == valor2
break;
default:
// Código a ejecutar si ninguno de los casos anteriores es verdadero
}
Ejemplo:
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("Día no válido");
}
2. Estructuras de Control Repetitivas
2.1. for
La estructura for
se utiliza para ejecutar un bloque de código un número específico de veces.
Sintaxis:
for (inicialización; condición; actualización) {
// Código a ejecutar en cada iteración
}
Ejemplo:
for (int i = 0; i < 5; i++) {
System.out.println("El valor de i es: " + i);
}
2.2. while
La estructura while
ejecuta un bloque de código mientras una condición sea verdadera.
Sintaxis:
while (condición) {
// Código a ejecutar mientras la condición sea verdadera
}
Ejemplo:
int i = 0;
while (i < 5) {
System.out.println("El valor de i es: " + i);
i++;
}
2.3. do-while
La estructura do-while
es similar a while
, pero garantiza que el bloque de código se ejecute al menos una vez.
Sintaxis:
do {
// Código a ejecutar
} while (condición);
Ejemplo:
int i = 0;
do {
System.out.println("El valor de i es: " + i);
i++;
} while (i < 5);
Ejercicios Prácticos
Ejercicio 1: Verificar Número Par o Impar
- Pide al usuario que ingrese un número entero.
- Usa una estructura
if-else
para verificar si el número es par o impar. - Imprime el resultado.
Solución:
import java.util.Scanner;
public class ParImpar {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese un número: ");
int numero = scanner.nextInt();
if (numero % 2 == 0) {
System.out.println("El número es par.");
} else {
System.out.println("El número es impar.");
}
}
}
Ejercicio 2: Días de la Semana
- Pide al usuario que ingrese un número del 1 al 7.
- Usa una estructura
switch
para imprimir el día de la semana correspondiente (1 para Lunes, 2 para Martes, etc.).
Solución:
import java.util.Scanner;
public class DiasDeLaSemana {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese un número del 1 al 7: ");
int dia = scanner.nextInt();
switch (dia) {
case 1:
System.out.println("Lunes");
break;
case 2:
System.out.println("Martes");
break;
case 3:
System.out.println("Miércoles");
break;
case 4:
System.out.println("Jueves");
break;
case 5:
System.out.println("Viernes");
break;
case 6:
System.out.println("Sábado");
break;
case 7:
System.out.println("Domingo");
break;
default:
System.out.println("Número no válido");
}
}
}
Ejercicio 3: Imprimir Números del 1 al 10
- Usa un bucle
for
para imprimir los números del 1 al 10.
Solución:
public class ImprimirNumeros {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
}
}
Ejercicio 4: Suma de Números del 1 al 100
- Usa un bucle
while
para calcular la suma de los números del 1 al 100. - Imprime la suma.
Solución:
public class SumaNumeros {
public static void main(String[] args) {
int suma = 0;
int i = 1;
while (i <= 100) {
suma += i;
i++;
}
System.out.println("La suma de los números del 1 al 100 es: " + suma);
}
}
Ejercicio 5: Número Mínimo
- Pide al usuario que ingrese cinco números.
- Usa un bucle
for
para encontrar y mostrar el número mínimo.
Solución:
import java.util.Scanner;
public class NumeroMinimo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int minimo = Integer.MAX_VALUE;
for (int i = 0; i < 5; i++) {
System.out.print("Ingrese un número: ");
int numero = scanner.nextInt();
if (numero < minimo) {
minimo = numero;
}
}
System.out.println("El número mínimo es: " + minimo);
}
}
Ejercicio 6: Contraseña Correcta
- Define una contraseña fija.
- Pide al usuario que ingrese la contraseña y usa un bucle
do-while
para repetir la solicitud hasta que la contraseña ingresada sea correcta.
Solución:
import java.util.Scanner;
public class Contraseña {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String contraseñaCorrecta = "1234";
String contraseñaIngresada;
do {
System.out.print("Ingrese la contraseña: ");
contraseñaIngresada = scanner.nextLine();
} while (!contraseñaIngresada.equals(contraseñaCorrecta));
System.out.println("Contraseña correcta.");
}
}
Conclusión
Las estructuras básicas de control en programación son esenciales para construir cualquier aplicación. Comprender cómo y cuándo usar estas estructuras te permitirá escribir código más eficiente y fácil de mantener. Practica estos conceptos y ejercicios para fortalecer tus habilidades y prepararte para desafíos más avanzados en programación.