El uso de if en java, se utiliza para crear estructuras condicionales y así poder modificar el flujo de ejecución de un programa. De esta forma, si se cumple una condición concreta, se ejecutarán unas sentencias determinadas. En caso de que la condición no se cumpla, se ejecutarán otra serie de sentencias dentro de nuestro código.
Por otra parte, cuando utilizamos esta palabra reservada del lenguaje java, por lo general, irá acompañada de manera opcional de la cláusula «else«.
Teniendo esto en cuenta, el uso de if en java, puede realizarse de varias maneras. Vamos a ver varios ejemplos.
Uso de if en java sin la cláusula else.
En este primer ejemplo, declararemos una variable numérica y le asignaremos el número 20.
Después crearemos la estructura condicional, de forma que si el número es mayor que 20, se ejecutará la sentencia que se encuentra dentro de la estructura.
Una vez ejecutada, saldrá de la estructura y seguirá ejecutando lo que hay a continuación. En este caso «Programa finalizado».
package arranque;
public class Principal {
public static void main(String[] args) {
/* Declaramos una variable numérica de tipo int
* y le asignamos el valor 20 */
int numero = 20;
// Creamos una estructura if
if(numero > 18) { // Si el número es mayor a 18
// Se ejecutará esta instrucción
System.out.println("El número es mayor a 18");
}
// Informamos que el programa ha finalizado
System.out.println("Programa finalizado");
}
}
Como vemos en este caso, no estamos utilizando la cláusula else. Como ya hemos dicho, esta cláusula es opcional.
Veamos ahora otro ejemplo en el que vamos a evaluar si el número es menor a 20.
package arranque;
public class Principal {
public static void main(String[] args) {
/* Declaramos una variable numérica de tipo int
* y le asignamos el valor 20 */
int numero = 20;
// Creamos una estructura if
if(numero < 18) { // Si el número es menor a 18
// Se ejecutará esta instrucción y sino no.
System.out.println("El número es menor a 18");
}
// Informamos que el programa ha finalizado
System.out.println("Programa finalizado");
}
}
En este segundo ejemplo, estamos evaluando si el número almacenado en la variable numero es menor a 18. Como en este caso no se cumple, la sentencia que tenemos dentro del if, no se ejecutará. Es decir, saltará la estructura condicional y continuará con las sentencias que haya a continuación. En este caso sólo ejecutará la instrucción «programa finalizado».
If en java con la cláusula else.
En este caso, también podemos incluir la palabra reservada «else» dentro de los ejemplos anteriores. Esta cláusula, significa «en caso contrario…», de forma que podemos transformar el ejemplo anterior de la siguiente manera.
package arranque;
public class Principal {
public static void main(String[] args) {
/* Declaramos una variable numérica de tipo int
* y le asignamos el valor 20 */
int numero = 20;
// Creamos una estructura if
if(numero > 18) { // Si el número es mayor a 18
// Ejecutamos esta instruccion
System.out.println("El número es mayor a 18");
}
// En caso contrario, es decir, si el numero
// es menor a 18...
else {
// Ejecutamos esta instrucción
System.out.println("El número es menor a 18");
}
// Informamos que el programa ha finalizado
System.out.println("Programa finalizado");
}
En este ejemplo, si el número es mayor a 18 ejecutará la sentencia que se encuentra dentro del bloque del if. En caso contrario, ejecutaría la sentencia programada en el bloque del else. Una vez que se ejecuta una de las dos instrucciones, saldrá de la estructura y continuará ejecutando el resto del código del programa.
Uso de varios if anidados.
En java, también se pueden anidar cláusulas if dentro de otras. de esa manera, podemos evaluar diferentes condiciones, esto lo haremos a través de lo que se llama «else if». Vamos a ver un ejemplo.
En este caso vamos a utilizar también la clase Scanner ya que vamos a pedir un número por teclado utilizando también la clase System.
Estas dos clases podemos verlas también en la API de java.
package arranque;
import java.util.*;
public class Principal {
public static void main(String[] args) {
Scanner lectura =new Scanner(System.in);
// Pedimos la edad del usuario
System.out.println("Introduce tu edad:");
// Almacenamos la edad del usuario en una variable tipo int
int edad = lectura.nextInt();
if (edad < 18) { // Si la condicion se cumple
// mostramos este mensaje
System.out.println("Eres menor de edad");
} else if(edad> 18 || edad <= 40) {
// Si no se cuemple la anterior...
System.out.println("Eres una persona adulta.");
} else if (edad >= 40 || edad <= 65) {
// Mostramos otro mensaje
System.out.println("Te estas haciendo viejo.");
} else if (edad > 65) { // Si no se cumple la tercera...
// Mostramos otro mensaje
System.out.println("Eres de la tercera edad.");
} else { // Si no se cumple ninguna de las 4 anteriores...
// Mostramos otro mensaje
System.out.println("El número introducido no es correcto.");
}
lectura.close();
}
}
La estructura switch en java una alternativa para mejorar nuestro código.
Aunque esta opción de anidar varias cláusulas if es una opción valida, podemos utilizar otra estructura que también se considera estructura condicional. En este caso estamos hablando de la estructura switch. Esta estructura podemos traducirla como «seleccionar un caso, dependiendo del valor de una variable». Vamos a ver un ejemplo sencillo.
package arranque;
import java.util.*;
public class Principal {
public static void main(String[] args) {
Scanner lectura =new Scanner(System.in);
// Pedimos el número de dia del usuario
System.out.println("Introduce un número del 1 al 7:");
// Almacenamos la edad del usuario en una variable tipo int
int dia = lectura.nextInt();
switch (dia)
{
case 1: // Si el usuario escribe un 1
System.out.println("Es lunes");
break;
case 2: // Si el usuario escribe un 2
System.out.println("Es martes");
break;
case 3: // Si el usuario escribe un 3
System.out.println("Es miércoles");
break;
case 4: // Si el usuario escribe un 4
System.out.println("Es jueves");
break;
case 5: // Si el usuario escribe un 5
System.out.println("Es viernes");
break;
case 6: // Si el usuario escribe un 5
System.out.println("Es sabado");
break;
case 7: // Si el usuario escribe un 5
System.out.println("Es domingo");
break;
default: // Si teclea un valor diferente...
System.out.println("Debes teclear un número entre 1 y 7");
break;
}
lectura.close();
}
}
En este último caso, una vez que el usuario introduce un número, la estructura switch evalúa entre cada uno de los 7 casos que existen. Una vez evaluado el caso, nos encontramos con la palabra reservada «break«. Esto lo que hace es romper el flujo del programa y salir de la estructura switch.
Si por el contrario, el usuario no introduce un valor entre 1 y 7, se ejecutará la instrucción que tenemos en el “default”.