Lecciones del módulo (2/2)
Control de flujo
Para que nuestros programas sean dinámicos y capaces de tomar decisiones, utilizamos las estructuras de control de flujo: las instrucciones condicionales y los bucles.
Condicionales: if, else if y else
La instrucción if ejecuta un bloque de código solo si una determinada condición booleana es verdadera.
int temperature = 25;
if (temperature > 30) {
System.out.println("Fa molto caldo!");
} else if (temperature >= 20) {
System.out.println("Il clima è piacevole.");
} else {
System.out.println("Fa freddo.");
}
Operadores Lógicos
Podemos combinar múltiples condiciones usando operadores lógicos:
&&(AND): Devuelvetruesi ambas condiciones son verdaderas.||(OR): Devuelvetruesi al menos una de las condiciones es verdadera.!(NOT): Invierte el valor lógico de la condición.
boolean hasLicense = true;
boolean hasCar = false;
if (hasLicense && hasCar) {
System.out.println("Puoi guidare.");
}
Los Bucles: while y for
Los bucles permiten ejecutar repetidamente un bloque de código.
El Bucle while
Ejecuta el código mientras la condición especificada permanezca true.
int count = 1;
while (count <= 3) {
System.out.println("Conteggio: " + count);
count++; // Incrementa count en 1
}
El Bucle for
Ideal cuando conocemos de antemano el número de iteraciones a realizar. La sintaxis requiere la inicialización, la condición de permanencia y la expresión de incremento.
for (int i = 0; i < 5; i++) {
System.out.println("Iterazione: " + i);
}
Condicionales Avanzados: el switch
Cuando necesitamos comparar una sola variable con múltiples valores constantes, la instrucción switch hace que el código sea mucho más limpio que múltiples bloques if-else encadenados.
int dayOfWeek = 3;
switch (dayOfWeek) {
case 1:
System.out.println("Lunedì");
break;
case 2:
System.out.println("Martedì");
break;
case 3:
System.out.println("Mercoledì");
break;
default:
System.out.println("Altro giorno");
}
Control de Bucles: break y continue
Podemos alterar el flujo normal de un bucle usando dos instrucciones especiales:
break: interrumpe inmediatamente la ejecución del bucle más interno, saliendo de él.continue: salta el resto del código en la iteración actual y pasa directamente a verificar la condición siguiente (o al incremento en el buclefor).
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue; // Salta la impresión para el número 3
}
System.out.println(i);
}
Pruébalo tú
Completa el código verificando la variable score: si es mayor o igual a 60 imprime Pass, de lo contrario imprime Fail.
Mostrar pista
Usa `if (score >= 60) { ... } else { ... }` e imprime la cadena exacta requerida.
Solución disponible después de 3 intentos
Escribe un bucle for para imprimir en pantalla los números del 1 al 5 (inclusive) en líneas separadas.
Mostrar pista
Usa la inicialización `int i = 1`, la condición `i <= 5` y el incremento `i++` dentro de la cabecera del bucle `for`.
Solución disponible después de 3 intentos
Completa el código usando un bucle while para imprimir en pantalla los números del 3 al 1 (inclusive) en orden decreciente en líneas separadas.
Mostrar pista
Escribe `while (count >= 1) { ... }` imprimiendo `count` y luego decrementándolo con `count--;`.
Solución disponible después de 3 intentos