Programación en Java - Operadores Booleanos - Wikilibros
Programación en Java - Operadores Booleanos - Wikilibros
Programación en Java/Operadores
booleanos
< Programación en Java
Como deben suponer, trabajan con operandos booleanos. Realizan las operaciones lógicas de conjunción (AND),
disyunción (OR), negación (NOT) y la disyunción exclusiva (XOR).
Operadores booleanos
Nombre Operador Utilización Resultado
verdadero cuando A y B son verdaderos. Evaluación
AND && A && B
condicional.
verdadero cuando A o B son verdaderos. Evaluación
OR || A || B
condicional.
NOT ! !A verdadero si A es falso.
verdadero cuando A y B son verdaderos. Siempre evalúa
AND & A&B
ambos operandos.
verdadero cuando A o B son verdaderos. Siempre evalúa
OR | A|B
ambos operandos.
XOR ^ A^B verdadero cuando A y B son diferentes
Cada una de estas operaciones tiene asociada una tabla de verdad. Esto nos permite ver el resultado de un operador
aplicado a las distintas combinaciones de valores que pueden tener los operandos. A continuación mostraremos como
se comporta el operador AND mediante su tabla de verdad.
Si probamos a quitar un ampersand ( & ) del operador, vemos que obtenemos los mismos resultados. Existen dos
operadores AND, uno con dos símbolos & y el otro con uno solo. También tenemos dos operadores OR.
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Operadores_booleanos 1/3
29/1/2019 Programación en Java/Operadores booleanos - Wikilibros
Parece extraño, sobre todo porque tienen la misma tabla de verdad. Pero internamente tienen un comportamiento
diferente.
Cuando estamos en presencia de un operador con un solo símbolo, siempre se evalúan ambos operandos. En cambio
para el operador con el símbolo repetido, su evaluación cambia según el valor del primer operando. Por ejemplo
tenemos la siguiente operación.
El resultado es falso, pero el intérprete tiene que mirar el segundo operando para saberlo.
Aquí ni se molesta en mirar el último operando, porque la operación AND es verdadera solamente cuando ambos
operandos son verdaderos.
En el caso del operador OR, se evalúa el segundo operador si el primero es falso. Cuando es verdadero, no tiene en
cuenta el otro operando. El resultado es verdadero sin importar el valor del segundo.
Veamos un caso extremo para mostrar como funciona la evaluación condicional. Tenemos el siguiente programa en
donde pretendemos hacer saltar al intérprete con un error.
Sin ningún tipo de emoción, aburridamente el intérprete nos avisa que el resultado es "false". Ahora verá. Quitemos un
símbolo & y quedémonos con uno solo. El resultado es otro :
java.lang.ArithmeticException: / by zero
La primera vez verificó que x!=0 era falso, entonces dio por terminada la operación con el resultado falso. Cuando
cambiamos de operador, evaluó los dos operandos y cayó en nuestra trampa. Tuvo que calcular cuanto es y / x dando
luego un error de división por cero.
Los operadores booleanos son muy amigos de los relacionales. Se llevan bien porque los últimos dan resultados
booleanos. Entre ambos tipos de operadores se pueden construir instrucciones mas complejas.
Por ejemplo, queremos saber si un número está dentro de un rango. Solo tenemos que compararlo con los extremos:
int y = 4;
boolean x = ( y > 3 ) && ( y < 6 );
Ahora deseamos saber si una variable tiene el valor "a" no importando si es mayúscula o minúscula.
char c = 'b';
boolean x = ( c == 'a' ) || ( c == 'A' );
No olviden que el operador de equivalencia (==) tiene dos símbolos igual (=), si colocan uno solo les dará un error de
asignación.
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Operadores_booleanos 2/3
29/1/2019 Programación en Java/Operadores booleanos - Wikilibros
Obtenido de «https://es.wikibooks.org/w/index.php?
title=Programación_en_Java/Operadores_booleanos&oldid=200040»
Esta página se editó por última vez el 25 mar 2013 a las 13:21.
El texto está disponible bajo la Licencia Creative Commons Atribución-CompartirIgual 3.0; pueden aplicarse términos
adicionales. Véase Términos de uso para más detalles.
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Operadores_booleanos 3/3