1. Lógica boolean

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

Pero puedes escribirlo de esta manera:

(18 < age) AND (age < 65)

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

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

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

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

Mira la pantalla:

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

Aquí hay algunos ejemplos de cómo usar los 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 boolean

Donde sea que se pueda escribir una expresión lógica, se 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 edad está entre 18 y 65, se muestra la frase "Puedes trabajar".
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
Se creó una variable isYoung y se movió la primera parte de la expresión a ella. Simplemente reemplazamos age >= 18 con age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
Se creó una variable esViejo y se movió la segunda parte de la expresión a ella. Además, se reemplazó age <= 65 con age > 65.

Estos 3 ejemplos som equivalentes. Solo que en el segundo ejemplo movimos parte de la expresion desde el if statement a una variable boolean separada (isYoung). En el tercer ejemplo, movimos la segunda parte de la expresion a una segunda variable (isOld).


3. Aritmética lógica

Repasemos brevemente las operaciones lógicas.

El operador AND 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 true solo si ambos valores que conforman la expresión son true. De lo contrario, siempre será false.

El operador OR 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 siempre es true si al menos un término en la expresión es true. Si ambos son false, entonces el resultado es false.

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

Expresión Resultado
!true
false
!false
true

El operador cambia true a false y viceversa.

Expresiones útiles:

Expresión Resultado
m && !m
false
m || !m
true
!(a && b)
!a || !b
!(a || b)
!a && !b
4
Tarea
Módulo 1. Java Syntax,  nivel 6lección 0
Bloqueada
Nunca trabajaré por cacahuetes
task0401
4
Tarea
Módulo 1. Java Syntax,  nivel 6lección 0
Bloqueada
Todos quieren ser amados.
task0402
6
Tarea
Módulo 1. Java Syntax,  nivel 6lección 0
Bloqueada
Suma
task0403