Java: Diferencia entre Operadores Condicionales Dobles y Simples al evaluar expresiones

Rolando Selvera
3 min readDec 19, 2018

--

Programación en Java

En algún momento al programar, es necesario evaluar dos o más variables a la vez para tomar una decisión en el flujo de ejecución de nuestro programa. Java dispone de un conjunto de operadores que podemos utilizar para realizar una o varias operaciones con nuestras variables y obtener así el resultado deseado.

Operadores Condicionales

No profundizaré en el tema de los operadores en Java ya que no es el objetivo de este artículo. Basta mencionar que un operador condicional sirve para evaluar dos o más expresiones booleanas a la vez, lo que permite cambiar el flujo de un programa dependiendo si se cumplen ciertas condiciones o no.

En Java, el operador AND se simboliza con el signo & (mejor conocido por su nombre en inglés como ampersand) y es utilizado para evaluar dos expresiones en las que, si ambas son verdaderas, retornarán un valor verdadero. Por otro lado, el operador OR se simboliza con la barra vertical | o pipe y se utiliza para evaluar dos expresiones, si al menos una de ellas es verdadera, regresará un valor verdadero.

Puedes consultar la documentación de Java para el uso de operadores condicionales desde el siguiente enlace: Java Documentation.

Operadores Condicionales Simples

Cuando se utilizan los operadores condicionales simples AND y OR (signos & y | respectivamente) los operandos siempre se evaluarán.

En el siguiente ejemplo, se declaran e inicializan dos variables de tipo entero llamadas credito y edad , para posteriormente ser evaluadas en la condición if (el código del proyecto lo podrás encontrar al final del artículo):

Operador condicional simple “&” y “|”

Al llegar al bloque if se evalúan ambos operandos credito y edad, sin importar si la primer condición se cumple o no. En este caso, al evaluar credito > 1000, el resultado es false y continúa con el siguiente operando a evaluar edad >= 18 , por lo que ambas condiciones son evaluadas sin importar si se cumplen o no.

Operadores Condicionales Dobles

Al utilizar los operadores condicionales dobles && y || los operandos se evalúan en “corto circuito”, es decir, sólo se evalúan hasta que la condición de un operador sea evaluada como false. Dicho de otro modo, el siguiente operando se evalúa sólo si es necesario.

Retomando el código del ejemplo anterior, al llegar al bloque if se evalúa únicamente el primer operando credito > 1000, si la condición devuelve true, continúa con el siguiente operando edad >= 18, de lo contrario finaliza la evaluación:

Operador condicional doble “&&” y “||”

Utilizando el operador condicional doble en el ejemplo, al llegar al bloque if solamente se evalúa el primer operando creditoe ignora la evaluación del segundo, ya que la condición credito > 1000regresa un valor false. En otras palabras, solo la primera condición es evaluada y al ser ésta falsa no se evalúa la segunda condición, se produce lo que se llama “corto circuito”.

Conclusión

En la mayoría de los casos, los operadores condicionales en Java se utilizan en su forma doble para optimizar el programa, pero no se descarta utilizar su forma simple en algunas situaciones especiales, como por ejemplo para evaluar un conjunto, grupo o serie de variables de forma sucesiva y asegurar su cumplimiento.

Código del proyecto

Operadores condicionales dobles y simples en Java

--

--

Rolando Selvera
Rolando Selvera

Written by Rolando Selvera

Desarrollador Android y apasionado de la tecnología. Creador de aplicaciones y herramientas de apoyo para alcanzar tus metas diarias.

No responses yet