Menu
Coddy logo textTech

Operadores lógicos, parte 3

Parte de la sección Fundamentos del Journey de Java de Coddy. Lección 25 de 73.

Al comprobar múltiples condiciones, la computadora deja de comprobar en cuanto conoce la respuesta final (esto se llama evaluación de cortocircuito).

Por ejemplo:

int x = 0;
int y = 5;
boolean result = x != 0 && y / x > 2;

Aquí x es igual a 0, por lo tanto no evaluará y / x > 2. Si invirtiéramos el orden:

boolean result = y / x > 2 && x != 0;

Esto dará como resultado un error porque y se dividirá entre 0, lo cual es ilegal en matemáticas.

Esta técnica se utiliza para optimizar la evaluación de expresiones lógicas. Por ejemplo:

int a = 0;
int b = 2;
int c = 3;
int d = 5;
boolean result = (a > 0 && b < 2) || (c < -5 && d < 10);

En este ejemplo, b < 2 y d < 10 no se evaluarán porque a > 0 y c < -5 son ambas falsas.

challenge icon

Desafío

Principiante

Creemos un programa para decidir si es un buen día para la producción de energía mediante paneles solares

Inicializa estas variables:

  • isSunny con el valor true
  • windSpeed con el valor 5.4
  • temperature con el valor 23
  • solarPanelOutput con el valor 9
  • isCloudy con el valor false

Crea una expresión lógica que compruebe TODAS estas condiciones:

  • Hace sol
  • La velocidad del viento es menor que 10
  • La producción del panel solar es menor que 15
  • La temperatura es superior a 20 O no hay nubes

Pruébalo tú mismo

public class Main {
    public static void main(String[] args) {
        // Inicializar variables
        // Reemplaza cada valor marcador de posición de abajo con el valor que pide la tarea
        boolean isSunny = false;
        double windSpeed = 0.0;
        int temperature = 0;
        int solarPanelOutput = 0;
        boolean isCloudy = false;

        // La expresión lógica completa
        // Reemplaza el marcador de posición de abajo con una expresión que combine las cuatro condiciones
        boolean result = false;

        // No elimines las líneas de abajo
        System.out.println("Checking conditions for solar energy production...");
        System.out.println("1. Is it sunny? " + isSunny);
        System.out.println("2. Is wind speed safe? " + (windSpeed < 10));
        System.out.println("3. Can panels produce more? " + (solarPanelOutput < 15));
        System.out.println("4. Is temperature good OR no clouds? " + (temperature > 20 || !isCloudy));
        System.out.println("\nFinal result - Good day for solar energy production: " + result);
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Java online