Logical Operators Part 3
Parte de la sección Fundamentos del Journey de Java de Coddy. Lección 25 de 73.
Al evaluar múltiples condiciones, la computadora deja de verificar tan pronto como conoce la respuesta final (Esto se conoce como 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 invertimos el orden:
boolean result = y / x > 2 && x != 0;Esto dará como resultado un error porque y se dividirá por 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.
Desafío
PrincipianteVamos a crear un programa para decidir si es un buen día para la producción de energía con paneles solares
Inicializa estas variables:
isSunnycon el valor truewindSpeedcon el valor 5.4temperaturecon el valor 23solarPanelOutputcon el valor 9isCloudycon 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 salida 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) {
// Inicializa las variables
// Reemplaza cada valor de 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 borres 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);
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - ElsePractica por tu cuenta: Compilador de Java online