Ejercicio 8 – Evaluación de Operadores lógicos

Enunciado

Este ejercicio consiste en evaluar distintas expresiones lógicas usando los operadores:

  • && (AND lógico)
  • || (OR lógico)
  • ! (NOT lógico)

Además, se debe comprobar cómo funciona la evaluación perezosa (short-circuit evaluation), qué evita evaluar la segunda parte de una expresión cuando el resultado ya se conoce.

Explicación del ejercicio

1️⃣ Operador AND – &&

  • Solo devuelve true si ambas condiciones son verdaderas.

2️⃣ Operador OR – ||

  • Devuelve true si al menos una condición es verdadera.

3️⃣ Operador NOT – !

  • Invierte el valor lógico: true → false, false → true.

4️⃣ Evaluación perezosa

En Java:

En OR (||): si la primera condición es true, la segunda NO se evalúa.
En AND (&&): si la primera condición es false, la segunda NO se evalúa.

Esto evita errores y mejora el rendimiento.

Solución en Java


public class Ejercicio8 {
    public static void main(String[] args) {

        // Ejemplo 1
        boolean Ejemplo1 = 3 <= 5 && 2 == 2;
        System.out.println("3 <= 5 && 2 == 2 = " + Ejemplo1);

        // Ejemplo 2
        boolean Ejemplo2 = 3 <= 5 && 2 > 10;
        System.out.println("3 <= 5 && 2 > 10 = " + Ejemplo2);

        // Ejemplo 3
        boolean Ejemplo3 = 1 != 2 || 5 < 3;
        System.out.println("1 != 2 || 5 < 3 = " + Ejemplo3);

        // Ejemplo 4
        boolean Ejemplo4 = !(1 < 2);
        System.out.println("!(1 < 2) = " + Ejemplo4);

        // Evaluación perezosa
        boolean Ejemplo5 = true || (5 < 3);
        System.out.println("true || (5 < 3) = " + Ejemplo5);

        boolean Ejemplo6 = false && (5 < 3);
        System.out.println("false && (5 < 3) = " + Ejemplo6);
    }
}
    

Salida esperada


3 <= 5 && 2 == 2 = true
3 <= 5 && 2 > 10 = false
1 != 2 || 5 < 3 = true
!(1 < 2) = false
true || (5 < 3) = true
false && (5 < 3) = false
    

Estas expresiones permiten entender cómo Java evalúa condiciones y cómo se comportan los operadores lógicos.