Curso de Java. Operadores de Relación y Lógicos de Java.

Los Operadores de relación son muy útiles a la hora de
programar en java.

Esta tabla recoje los mas utilizados:

Operadores de Relación.
Operador.Uso.
==Igualdad relativa ( ¿Es igual el operando de la izq, que el operando de la derch? ).
!=Distinto que…
<Menor que…
<=Menor o igual que…
>Mayor que…
>=Mayor o igual que…

Estos operadores dan como resultado un valor true o un valor false.
Veamos algunos ejemplos:

Declaramos e inicializamos dos variables enteras y aplicamos el operador de igualdad == utilizando una instrucción condicional if – else y la sentencia System.out.println» Método que permite mostrar datos por consola. (En páginas posteriores veremos ambas sentencias con más detalle.):

int a= 3, b= 3;

if (a == b) {    
// Si «a» es igual a «b» ejecuta la siguiente sentencia.
        System.out.
println (« Las variables «a» y «b» son iguales.
«);     
// sentencia que SI se ejecutaría al ser las dos variables iguales.
} else {    
// Si no se cumple la condicion (a==b), ejecuta la siguiente sentencia.

        System.out.
println (« Las variables «a» y «b» son distintas.
«);     
// sentencia que NO se ejecutaría.
}


Declaramos e inicializamos dos variables enteras y Aplicamos el operador !=
utilizando una instrucción condicional if – else :

int a= 3, b= 3;
if (a != b) {     
// Si «a» es distinto a «b» ejecuta la siguiente sentencia.
        System.out.
println (« Las variables «a» y «b» son distintas.
«);     
// sentencia que NO se ejecutaría al ser las dos variables iguales.
} else {    
// Si no se cumple la condicion (a != b), ejecuta la siguiente sentencia.

        System.out.
println (« Las variables «a» y «b» No son distintas.
«);     
// sentencia que SI se ejecutaría.
}

Los operadores restantes se aplican de igual manera que los anteriores, es decir creamos condiciones a evaluar normalmente con resultado True. En el caso de una condición que forme parte de una sentencia condicional como if – else, equivaldria a decir: «Si lo que hay entre parentesis (la condición) es verdad ó «true» ó se cumple, haz lo siguiente…».

Ahora bien, ¿Que sucería si quisiesemos evaluar más de una condición o utilizar operadores distintos en una misma sentencia? ¿Como hariamos esto?. Para estos casos, java dispone de los llamados
operadores lógicos, y son los siguientes:

Operadores lógicos de java

Operadores Lógicos de Java.
Operador.Uso.
&&Operador AND. Para que la cóndición resultante final sea true ambas condiciones tienen que ser ciertas.
||Operador OR. Para que la cóndición resultante final sea true, tan solo bastaría con que una fuese cierta.
!Operador NOT. Dicho muy genéricamente, este operador se puede utilizar para cambiar el resultado de una condición. Es decir si la condición se evaluase como true mediante este operador lo transformariamos en false y viceversa:.

Veamos algunos ejemplos de como utilizar los Operadores lógicos:

Declaramos e inicializamos dos variables enteras y utilizamos el operador && (AND).:

int a= 3, b= 3;
if (a >= b &&
a<=b) {    
// Si «a» es mayor o igual a «b» y «a» es menor o igual a «b» ejecuta la siguiente sentencia.
        System.out.println (« La condición es true. «);     // sentencia que SI se ejecutaría al ser las dos variables iguales.
} else {    // Si no se cumple la condicion, ejecuta la siguiente sentencia.

        System.out.
println (« La condición es false.
«);     // sentencia que NO se ejecutaría.
}


inicializamos con nuevos datos las variables :

int a= 3, b= 2;
if (a > b && a < 3)
{     // Si «a» es mayor que «b» y menor de «3» ejecuta la siguiente sentencia.
        System.out.
println (« La condición es
true.
«);     
// sentencia que NO se ejecutaría ya que si bien es cierto que «a» es mayor que «b», no es menor de «3».
} else {    
// Si no se cumple la condicion, ejecuta la siguiente sentencia.

        System.
out.println («
La condición es false. «);
    // sentencia que SI se ejecutaría.
}

Declaramos e inicializamos dos variables enteras y utilizamos el operador || (OR).

int a= 10, b= 12;
if (a > b || b >= 12) {    // Si «a» es mayor que «b» ó «b» es mayor o igual a «12» ejecuta la siguiente sentencia.
        System.out.println (« La condición es true. «);     // sentencia que SI se ejecutaría aunque «a» no es mayor que «b», ya que «b» es igual a «12».
} else {    // Si no se cumple la condicion, ejecuta la siguiente sentencia.

        System.out.println (« La condición es false. «);     // sentencia que NO se ejecutaría.
}

Utilizamos el operador ! (NOT) sobre el ejemplo anterior.

int a= 10, b= 12;
if  ( !(a > b || b >= 12) ) {    // La condición resultaba antes como true tras aplicar el operador ! (NOT) resultará false.
        System.out.println (« La condición es true. «);     // sentencia que NO se ejecutaría.
} else {    // Si no se cumple la condicion, ejecuta la siguiente sentencia.

        System.out.println (« La condición es false. «);     // sentencia que SI se ejecutaría.
}

Si os fijais hemos tenido que añadir un paréntesis más, ya que no podemos utilizar el que aporta la instrucción if.

Como norma general, cuando tengamos dudas en el orden de ejecución al utilizar varios operadores, es decir, que no sepamos que operación se ejecutará antes, es conveniente utilizar los paréntesis, de esta forma estableceremos el orden de preferencia en la ejecución de una condición determinada. Por ejemplo la condición siguiente:

if  (a > b || b >= 12 && b > c )

podriamos plantearla así:

if  ((a > b || b >= 12) && b > c )

De esta forma estaremos seguros de que primero se evaluará la condición que esta en el paréntesis más interno.

¿Te ha gustado? Compártelo.