1. Lógica booleana

En Java, no puede escribir la expresión 18 < age <65. Esa es una sintaxis incorrecta y el programa no se compilará.

Pero puedes escribirlo así:

(18 < age) AND (age < 65)

Por supuesto, en lugar de la palabra AND, habría un operador lógico . Hablaremos de ellos con más detalle ahora.

Hay tres operadores lógicos en Java: AND(&&), OR(||) y NOT(!).

La buena noticia es que puede usar paréntesis para construir expresiones lógicas de cualquier complejidad.

La mala noticia es que los desarrolladores de Java decidieron usar la notación del lenguaje C en lugar de las palabras and, ory not.

Mira a la pantalla:

operador lógico Expectativa Realidad
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

Estos son algunos ejemplos del uso de operadores lógicos en Java:

Expresión Interpretación Explicación
(0 < a) && (a < 100)
(0 < a) and (a < 100)
(0 < a) AND (a < 100)
(!a) && (!b)
(not a) and (not b)
(NOT a) AND (NOT b)
!(!a || !b)
not((not a) or (not b))
NOT((NOT a) OR (NOT b))


2. Ejemplos de uso de operadores de comparación y variables booleanas

Siempre que pueda escribir una expresión lógica, puede escribir una variable lógica.

Ejemplo:

Código Explicación
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
Si el valor de la edad está entre 18y 65, se muestra la frase "Puedes trabajar".
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
Creamos una isYoungvariable y movimos la primera parte de la expresión dentro de ella. Simplemente reemplazamos age >= 18con age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
Creamos una variable isOld y movimos la segunda parte de la expresión dentro de ella. Además, reemplazamos age <= 65con age > 65.

Estos tres ejemplos son equivalentes. Solo en el segundo ejemplo movimos parte de la expresión de la ifdeclaración a una variable booleana separada ( isYoung). En el tercer ejemplo, movimos la segunda parte de la expresión a una segunda variable ( isOld).



3. Aritmética lógica

Repasemos brevemente las operaciones lógicas.

El ANDoperador es &&, también conocido como conjunción .

Expresión Resultado
true && true
true
true && false
false
false && true
false
false && false
false

En otras palabras, el resultado de una expresión es truesolo si los dos valores que componen la expresión son true. De lo contrario, es siempre false.

El ORoperador es ||, también conocido como disyunción .

Expresión Resultado
true || true
true
true || false
true
false || true
true
false || false
false

En otras palabras, el resultado de una expresión es siempre truesi al menos un término de la expresión es true. Si ambos son false, entonces el resultado es false.

El NOToperador es !, también conocido como el inverso lógico .

Expresión Resultado
!true
false
!false
true

El operador cambia truea falsey viceversa.

Expresiones útiles:

Expresión Resultado
m && !m
false
m || !m
true
!(a && b)
!a || !b
!(a || b)
!a && !b