Muchas veces nuestros programas para llegar a una solución para determinado problema, deben evaluar condiciones y de acuerdo a ellas realizar una tarea u otra.
Para ello Java nos ofrece los condicionales.
La mayoría de los lenguajes de programación nos permiten hacer uso de este tipo de estructuras para tomar decisiones sobre un valor preexistente y tendrán dos posibles respuestas o salidas: true o false.
En Java las estructuras de control de flujo o condicionales nos permiten definir ciertas acciones de acuerdo a si la expresión booleana que se analiza es verdadera o falsa.
La estructura condicional más simple es el muy conocido y amado if
El if solo, verifica el resultado de la condición booleana si la condición es verdadera se realiza una acción, si es falsa, sale y continúa con el flujo normal del programa.
Se usa para decidir si una determinada declaración o bloque de enunciados se ejecutará o no.
La sentencia se ejecuta solamente si la expresión booleana es verdadera, por ejemplo:
if (20 > 18) {
System.out.println("20 es mayor que 18");
}
En este ejemplo como la condición es verdadera, se realiza una impresión por pantalla, pero ¿qué pasaría si no fuera verdadera la comparación? Nada. Pero tampoco nos enteraríamos de esto, porque el if solo acciona si el resultado es verdadero.
Pero muchas veces, por no decir la mayoría, necesitamos hacer otras comparaciones relacionadas al mismo valor que se está analizando, es ahí cuando precisamos agregarle un compañero al if, y hace su aparición el else.
Entonces para cuando la condición sea falsa, utilizaremos otro camino a través del else. Miremos un ejemplo para que sea más gráfico:
if (temperatura > 25) {
System.out.println("Hoy no debo ponerme abrigo!");
} else {
System.out.println("Mejor me llevo un buzo");
}
Es decir, si una condición basada en ese valor preexistente se cumple, el programa informará una cosa. Si no se cumple y por lo tanto la condición es falsa, el programa informará otra cosa.
Existen en Java, otras condiciones lógicas habituales de las matemáticas:
Podemos utilizar estas condiciones para realizar otras comparaciones y tomar diferentes acciones dentro de nuestro programa.
Disponemos también en Java, un curioso operador ternario, cuya función es abreviar la notación del simple if-else, que nos permite ahorrar código y también que sea más fácil de entender lo que hace.
La sintaxis es la siguiente.
variable = op1?op2:op3
Donde variable va a recibir el resultado y el comportamiento del operador ?, es analizar si op1, que es necesariamente booleano, es verdadero o falso, si es verdadero el resultado de la operación es igual al valor del operando op2, si op1 es falso, el resultado es el valor del operando op3
public class comparativa {
public static void main(String args[]) {
int a = 15;
int b = 8;
int j = a > b ? a - b : b - a;
System.out.println("El resultado es: " + j);
}
}
No termina aquí el mundo de las estructuras de control en Java, por eso te recomendamos que realices nuestro curso de Java y Java Avanzado para enterarte mucho más. ¡Es gratis!