1. Secuencia de if
declaraciones
A veces, un programa necesita realizar muchas acciones diferentes según el valor de una variable o el valor de una expresión.
Digamos que nuestra tarea es algo como esto:
- Si la temperatura es superior a
20
los grados, entonces póngase una camisa. - Si la temperatura es mayor a
10
grados y menor (o igual a)20
entonces ponte un suéter - Si la temperatura es mayor a
0
grados y menor (o igual a)10
entonces ponte un chubasquero - Si la temperatura es inferior a
0
grados, póngase un abrigo.
Así es como esto se puede representar en el 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");
}
}
If-else
Las sentencias se pueden anidar unas dentro de otras. Esto hace posible implementar una lógica bastante compleja en un programa.
Pero el ejemplo anterior también es interesante porque podemos simplificar un poco el código omitiendo las llaves:
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");
Sin embargo, los programadores suelen escribir esta construcción de forma 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 tres ejemplos son equivalentes.
2. Matices del else
bloque.
Si no usa llaves en una if-else
construcción, entonces se else
refiere al anterior más cercano if
.
Ejemplo:
nuestro código | ¿Cómo funcionará? |
---|---|
|
|
Si observa el código de la izquierda, parece que la salida de la pantalla será "No tiene que trabajar". Pero ese no es el caso. En realidad, el else
bloqueo y la declaración "No tienes que trabajar" están asociados con la segunda if
declaración (la más cercana).
En el código de la derecha, los asociados if
y else
están resaltados en rojo. Además, las llaves se colocan sin ambigüedades, lo que muestra claramente qué acciones se realizarán. ¿La cadena You don't have to work nunca se muestra cuando age
es mayor que 60
?
3. Ejemplo de uso de una if-else
declaración
Ya que exploramos la if-else
declaración tan bien, demos 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