Los operadores lógicos y relacionales son una base fundamental en la programación, y aunque en este tutorial haremos hincapié en 9 (tranquilo seguro ya los conoces) también mencionare tres más que por alguna razón han sido excluidos en gran cantidad de libros y tutoriales.
Operadores Relacionales
Primero empecemos los operadores relacionales. Disponemos de 6 y nos permiten comparar dos valores. Si el resultado de nuestra comparación es correcto la expresión es considerada verdadera o true, por el contrario, si la comparación es incorrecta es considerada falsa o false. Por ejemplo:
Para la expresión:
Código:
5 < 8 (5 menor que 8)
El resultado es verdadero, ósea: true
Por otro lado, si la expresión es:
Código:
2 > 17 (2 mayor que 17)
Resulta evidente que la expresión es falsa, ósea: false.
Este concepto puede resultar “estúpido” o simple, sin embargo, es esencial en la programación. A continuación, veras una tabla en donde describo los 6 operadores relacionales:
Operador | Nombre | Ejemplo | Significado |
< | Menor que | a<b | a es menor que b |
> | Mayor que | a>b | a es mayor que b |
== | Igual que | a==b | a es igual que b |
!= | Distinto a | a!=b | a es distinto a b |
<= | Menor o igual a | a<=b | a es menor o igual a b |
>= | Mayor o igual a | a>=b | a es mayor o igual a b |
El valor resultante que arroja una relación como las descritas anteriormente se denominan booleanos, puesto que solo pueden generar dos valores: true o false.
Un ejemplo de código seria el siguiente:
Código
int a = 5; int b = 7; boolean c = a > b;
Debido a que a es menor que b, el resultado de c será false.
Operadores Lógicos
Los operadores lógicos son expresiones lógicas que permiten crear condiciones compuestas como por ejemplo saber si dos operaciones relacionales son verdaderas, o si una de ellas lo es.
Los anteriores se basan en las “tablas de la verdad” y en java disponemos de 3 ampliamente usados:
Nombre | Definición |
AND | Verdadero solo si los dos elementos comparados son verdaderos |
OR | Verdadero si al menos uno de los elementos comparados es verdadero |
NOT | Cambia el valor de verdadero a falso o viceversa |
Estos operadores son representados de la siguiente forma:
Operador | Nombre | Ejemplo |
&& | AND | a<b && b<c |
|| | OR | a<b || b<c |
! | NOT | !(a<b) |
El valor resultante también es booleana (verdadero o falso).
Un ejemplo de código es el siguiente:
Código
boolean a = 4 < 4; boolean b = 5 > 2; boolean and = a&&b; boolean or = a||b; boolean not = !and;
El resultado and es falso puesto que es necesario que las dos expresiones sean verdaderas, mientras que el resultado de or es verdadero puesto que solo es necesario que una de estas lo sea. Y el resultado de not es verdadero, ya que es el inverso de and (en este ejemplo).
Cabe resaltar que estos operadores pueden ser “concadenados” como en el siguiente ejemplo:
Código
boolean bool = true || false && true && !false;
El orden de prioridad en que se leen las operaciones lógicas son las siguientes: not, and y or. (Siendo not el primero y or del ultimo).
Cabe destacar que también puedes hacer uso de paréntesis para dar preferencia a un conjunto de operaciones.
Otros Operadores Lógicos
Existen otros tres operadores lógicos, los cuales son menos usados, pero existen:
Nombre Definición
XOR Verdadero solo si uno de los elementos es verdadero (si el otro también lo entonces es falso)
bitwise AND Verdadero si todos los elementos son verdaderos. Evalúa todas las comparaciones, sin importar si alguna evaluación previa es falsa.
bitwise OR Verdadero si al menos uno de los elementos es verdadero. Evalúa todas las comparaciones, sin importar si alguna evaluación previa es verdadera.
El XOR o OR Exclusivo es útil para cuando solo queremos que una de las comparaciones sea verdadera. Los casos en que se puede aplicar este operador son contados con las manos, pero es bueno tenerlo en consideración. Se usa de la siguiente manera:
Código
boolean bool = true ^ true; boolean bool2 = true ^ false;
El operador utilizado es ^ y el resultado entregado por el extracto de código anterior es: true false
El caso de los bitwise AND y OR, son especiales, y veremos su utilidad en una segunda parte de este tutorial (después de abordar otros conceptos necesarios). Se pueden usar de la siguiente manera:
Código
boolean bool = true & true; boolean bool2 = true | false;
El operador utilizado es idéntico al AND y al OR, solo que en vez de ser dos caracteres es uno. Virtualmente funcionaran exactamente como los AND y OR regulares, pero por ahora es mejor que uses los AND y OR regulares descritos en la sección anterior.
Eso es todo por ahora. Cualquier duda me la pueden hacer por MP, este tema es muy importante y no sé si lo pude explicar de la mejor forma posible.
También pido disculpas por el tiempo que me demore en publicar este tutorial. Tuve algunas obligaciones laborales y educativas que me quitaron mucho tiempo pero ahora intentare seguir con la frecuencia regular.
RECURSOS ASOCIADOS A ESTE TUTORIAL:
• Video Tutorial – Operadores lógicos y Operacionales
• Tutorial descargable .DOCX
RECURSOS COMPLEMENTARIOS:
No existen recursos complementarios para este artículo.