CodeGym /Cursos /JAVA 25 SELF /Tipo lógico boolean y operaciones lógicas

Tipo lógico boolean y operaciones lógicas

JAVA 25 SELF
Nivel 3, Lección 3
Disponible

1. Tipo de datos lógico: boolean

Como ya hemos comprobado, en Java hay un operador muy útil — if-else. Ejecuta un bloque de instrucciones si la condición entre paréntesis es verdadera, y un segundo bloque si la condición es falsa.

Para trabajar cómodamente con expresiones que pueden ser verdaderas o falsas, en Java se añadió un tipo especial — boolean. Su característica principal es que las variables de este tipo solo pueden tomar dos valores: true (verdadero) y false (falso).

No se puede asignar ningún otro valor a variables de tipo boolean. El compilador no lo permitirá.

Ejemplos de variables de tipo boolean:

boolean isAdult = true;
boolean hasMoney = false;
Ejemplo de declaración de variables de tipo boolean

Una variable de tipo boolean solo tiene dos valores — true y false. ¡Y ya está! Casi como una prueba exitosa — o «aprobó», o «falló».

2. Operaciones de comparación

¿Y para qué sirve un tipo tan primitivo? El verdadero poder de boolean se manifiesta cuando construimos expresiones lógicas. Normalmente se obtienen con operadores de comparación.

Operador Propósito Ejemplo Valor
== Igual
a == b
true o false
!= Distinto
a != b
true o false
> Mayor que
a > b
true o false
< Menor que
a < b
true o false
>= Mayor o igual
a >= b
true o false
<= Menor o igual
a <= b
true o false

Ejemplo:

int age = 20;
boolean isAdult = age >= 18;   // true (20 es mayor o igual que 18)
boolean isTeenager = age >= 13 && age < 18; // false (20 no es menor que 18)
boolean isEven = age % 2 == 0; // true (20 se divide entre 2 sin resto)

isAdult será true aquí, porque 20 es realmente una edad de «adulto».

Punto importante 1:

Los operadores compuestos por dos símbolos no se pueden separar.


a < = 10
speed > = max
age = = 18
time ! = 0
¡No se debe escribir así! Los operadores deben ir juntos: <=, >=, ==, !=

Punto importante 2:

Ten en cuenta que no existen los operadores => y =<: solo existen <= y >=. Si escribes a =< 3, tu código simplemente no compilará.

Punto importante 3:

En Java no puedes escribir una expresión del tipo 18 < age < 65. La expresión 18 < age tendrá el valor true o false. Y no se puede comparar true con un número (65) — son tipos distintos.

3. Operaciones lógicas

En Java no se puede escribir la expresión 18 < age < 65 — es sintácticamente incorrecta y el programa no compilará.

Pero sí puedes escribirlo así:


(18 < age) I (age < 65)
Expresión lógica con dos condiciones (en ruso)

Por supuesto, en lugar de la palabra Y se utilizan operadores lógicos. En Java hay tres operadores lógicos: AND (y), OR (o) y NOT (no).

Buena noticia: usando paréntesis, puedes construir expresiones lógicas de cualquier complejidad.
Mala noticia: en Java, en lugar de las palabras and, or y not, se usan los símbolos de la familia de C: &&, ||, !.

Operador lógico Lo esperado Realidad
Y (∧) and &&
O (∨) or ||
NO (¬) not !

Aquí tienes algunos ejemplos de uso de los operadores lógicos en Java:

Expresión Lectura Explicación
(0 < a) && (a < 100)
(0 < a) and (a < 100) (0 < a) Y (a < 100)
(!a) && (!b)
(not a) and (not b) (NO a) Y (NO b)
!(!a || !b)
not((not a) or (not b)) NO((NO a) O (NO b))

4. Tablas de verdad

Repasemos brevemente las operaciones lógicas.

Operador AND

El operador AND, también llamado Y, también &&, también conjunción, también multiplicación lógica.

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

Operador OR

El operador OR, también llamado O, también ||, también disyunción, también suma lógica.

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

Operador NOT

El operador NOT, también llamado NO, también !, también inversión.

Expresión Resultado
! true false
! false true

Expresiones útiles:

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

5. Ejemplos de operaciones lógicas: and, or, not

Operación «Y», AND, se representa como &&

El resultado es verdadero solo cuando ambas variables son verdaderas.

int age = 16;
boolean hasTicket = true;
boolean canAttend = age >= 14 && hasTicket; // true (16 es mayor que 14 Y hay entrada)

Si tienes 14 Y tienes entrada — ¡adelante!

Operación «O», OR, se representa (||)

El resultado es verdadero si al menos una condición es verdadera.

boolean isAdmin = false;
boolean isModerator = true;
boolean canEdit = isAdmin || isModerator; // true (se puede editar si al menos una de estas es true)

Si eres admin O moderador — por favor, ¡pulsa los botones!

Operación «NO», NOT, se representa (!)

El operador de negación convierte verdadero en falso y viceversa.

boolean isWeekend = false;
boolean shouldGoToWork = !isWeekend; // true (si no es fin de semana, trabajamos)

Si NO es fin de semana — ¡toca levantarse!

Combinación: construye condiciones tan complejas como quieras

Puedes combinar tantas operaciones lógicas como quieras (mejor no excederse). Los paréntesis se pueden (¡y se deben!) usar para mayor claridad.

Ejemplo:

int age = 17;
boolean hasTicket = false;
boolean isVip = true;

boolean canGo = (age >= 18 && hasTicket) || isVip; // true, porque isVip = true

Lógica: si la persona es mayor de edad y tiene entrada, o si es VIP — la dejamos pasar. Si no es VIP — solo si es adulta y tiene entrada.

1
Tarea
JAVA 25 SELF, nivel 3, lección 3
Bloqueada
Búsqueda de la verdad 🧐
Búsqueda de la verdad 🧐
1
Tarea
JAVA 25 SELF, nivel 3, lección 3
Bloqueada
Resultado del partido ⚽
Resultado del partido ⚽
1
Tarea
JAVA 25 SELF, nivel 3, lección 3
Bloqueada
Planificación del picnic 🧺
Planificación del picnic 🧺
1
Tarea
JAVA 25 SELF, nivel 3, lección 3
Bloqueada
Temperatura confortable en la habitación 🌡️
Temperatura confortable en la habitación 🌡️
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION