Ejercicios básicos resueltos Java
En este ejercicio practicaremos con los operadores lógicos Java.
Los operadores lógicos en Java son estos:
&& Operador AND
|| Operador OR
! Operador NOT
Ejercicio 1: Si X, Y y Z son variables de tipo boolean con valores X = true Y = false Z = true determina el valor de las siguientes expresiones lógicas:
a) (X && Y) || (X && Z) b) (X || !Y)&& (!X || Z) c) X || Y && Z d) !(X || Y) && Z e) X || Y || X && !Z && !Y f) !X || !Y || Z && X && !Y
Ejercicio 2: Si W, X, Y y Z son variables de tipo boolean con valores W = false X = true Y = true Z = false determina el valor de las siguientes expresiones lógicas:
a) W || Y && X && W || Z b) X && !Y && !X || !W && Y c) !(W || !Y) && X || Z d) X && Y && W || Z || X e) Y || !(Y || Z && W) f) !X && Y && (!Z || !X)
Para resolver ejercicios con operadores lógicos Java tienes que conocer las tablas de verdad de los operadores lógicos:
| Operador AND | Operador OR | Operador NOT | |||||||||
| A | B | A && B | A | B | A || B | A | !A | ||||
| F | F | F | F | F | F | F | T | ||||
| F | T | F | F | T | T | T | F | ||||
| T | F | F | T | F | T | ||||||
| T | T | T | T | T | T | ||||||
Como puedes observar:
- El operador lógico
&&(AND) da como resultado true cuando ambos operandos son true. En cualquier otro caso el resultado es false. - El operador
||(OR) da como resultado false cuando ambos operandos son falsos. En cualquier otro caso el resultado es true. - El operador
!(NOT) cambia el valor lógico del operando.
También debemos tener en cuenta para resolver estos ejercicios cuál es el orden de precedencia de los operadores lógicos en Java:
| Precedencia de los operadores lógicos | |
| Mayor precedencia | ! |
| ↓ | && |
| Menor precedencia | || |
Soluciones
a) (X && Y) || (X && Z) => true b) (X || !Y) && (!X || Z) => true
(T && F) || (T && T) (T || !F) && (!T || T)
F || T (T || T) && (F || T)
T T && T
T
c) X || Y && Z => true d) !(X || Y) && Z => false
T || F && T !(T || F) && T
T || F !T && T
T F && T
F
e) X || Y || X && !Z && !Y => true f) !X || !Y || Z && X && !Y => true
T || F || T && !T && !F !T || !F || T && T && !F
T || F || T && F && T F || T || T && T && T
T || F || F && T F || T || T && T
T || F || F F || T || T
T || F T || T
T T
a) W || Y && X && W || Z => false b) X && !Y && !X || !W && Y => true
F || T && T && F || F T && !T && !T || !F && T
F || T && F || F T && F && F || T && T
F || F || F F && F || T && T
F || F F || T
F T
c) !(W || !Y) && X || Z => true d) X && Y && W || Z || X => true
!(F || !T) && T || F T && T && F || F || T
!(F || F) && T || F T && F || F || T
!F && T || F F || F || T
T && T || F F || T
T || F T
T
e) Y || !(Y || Z && W) => true f) !X && Y && (!Z || !X) => false
T || !(T || F && F) !T && T && (!F || !T)
T || !(T || F ) F && T && (T || F)
T || !( T ) F && T && T
T || F F && T
T F
