1. Secuencia de declaraciones if
A veces, un programa necesita realizar muchas acciones diferentes dependiendo del valor de una variable o del valor de una expresión.
Supongamos que nuestra tarea es algo así:
- Si la temperatura es mayor que
20grados, ponte una camisa - Si la temperatura es mayor que
10grados y menor que (o igual a)20, ponte un suéter - Si la temperatura es mayor que
0grados y menor que (o igual a)10, ponte un impermeable - Si la temperatura es menor que
0grados, ponte un abrigo.
Así es como esto puede ser representado en código:
int temperature = 9;
if (temperature > 20) {
System.out.println("put on a shirt");
} else { // Here the temperature is less than (or equal to) 20
if (temperature > 10) {
System.out.println("put on a sweater");
} else { // Here the temperature is less than (or equal to) 10
if (temperature > 0) {
System.out.println("put on a raincoat");
} else // Here the temperature is less than 0
System.out.println("put on a coat");
}
}
Las declaraciones If-else pueden anidarse entre sí. Esto hace posible implementar una lógica bastante compleja en un programa.
Sin embargo, los programadores generalmente escriben esta construcción de manera un poco diferente:
int temperature = 9;
if (temperature > 20) {
System.out.println("put on a shirt");
} else if (temperature > 10) { // Here the temperature is less than (or equal to) 20
System.out.println("put on a sweater");
} else if (temperature > 0) { // Here the temperature is less than (or equal to) 10
System.out.println("put on a raincoat");
} else { // Here the temperature is less than 0
System.out.println("put on a coat");
}
Los dos ejemplos dados son equivalentes, pero el segundo es más fácil de entender.
2. Matices del bloque else
Si no se utilizan llaves en una construcción de if-else, entonces el else se refiere al if previo más cercano.
Ejemplo:
| Nuestro código | Cómo funcionará |
|---|---|
|
|
Si observamos el código de la izquierda, pareciera que la salida en pantalla sería "No tienes que trabajar". Pero en realidad, ese no es el caso. En realidad, el bloque else y la sentencia "No tienes que trabajar" están asociados con la segunda instrucción if (la más cercana).
En el código de la derecha, se resaltan en rojo las instrucciones if y else asociadas. Además, las llaves están colocadas de forma inequívoca, mostrando claramente qué acciones se realizarán. La cadena No tienes que trabajar nunca se muestra cuando age es mayor que 60.
3. Ejemplo del uso de un if-else statement
Ya que hemos explorado if-else statement tan a fondo, veamos un ejemplo:
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner console = new Scanner(System.in); // Create a Scanner object
int a = console.nextInt(); // Read the first number from the keyboard
int b = console.nextInt(); // Read the second number from the keyboard
if (a < b) // If a is less than b
System.out.println(a); // we display a
else // otherwise
System.out.println(b); // we display b
}
}
GO TO FULL VERSION