Operatori logici Parte 3
Fa parte della sezione Fondamenti del percorso Java di Coddy. Lezione 25 di 73.
Quando controlla più condizioni, il computer smette di controllarle non appena conosce la risposta finale (questa si chiama valutazione a cortocircuito).
Per esempio:
int x = 0;
int y = 5;
boolean result = x != 0 && y / x > 2;Qui x è uguale a 0, quindi non valuterà y / x > 2. Se invertissimo l'ordine:
boolean result = y / x > 2 && x != 0;Questo causerà un errore perché y verrà diviso per 0, operazione illegale in matematica.
Questa tecnica viene utilizzata per ottimizzare la valutazione delle espressioni logiche. Per esempio:
int a = 0;
int b = 2;
int c = 3;
int d = 5;
boolean result = (a > 0 && b < 2) || (c < -5 && d < 10);In questo esempio, b < 2 e d < 10 non verranno valutati perché a > 0 e c < -5 sono entrambi falsi.
Sfida
PrincipianteCreiamo un programma per decidere se è una buona giornata per la produzione di energia con i pannelli solari
Inizializza queste variabili:
isSunnycon il valore truewindSpeedcon il valore 5.4temperaturecon il valore 23solarPanelOutputcon il valore 9isCloudycon il valore false
Crea un'unica espressione logica che verifica TUTTE queste condizioni:
- C'è il sole
- La velocità del vento è inferiore a 10
- La produzione dei pannelli solari è inferiore a 15
- La temperatura è superiore a 20 OR non ci sono nuvole
Provalo tu
public class Main {
public static void main(String[] args) {
// Inizializza le variabili
// Sostituisci ogni valore segnaposto qui sotto con il valore richiesto dall'esercizio
boolean isSunny = false;
double windSpeed = 0.0;
int temperature = 0;
int solarPanelOutput = 0;
boolean isCloudy = false;
// L'espressione logica completa
// Sostituisci il segnaposto qui sotto con un'unica espressione che combini tutte e quattro le condizioni
boolean result = false;
// Non eliminare le righe qui sotto
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);
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori - Parte 1
Operatori aritmeticiOperatore moduloIncremento/decrementoIncremento/decremento postfissoAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7I/O di base
Metodi di System.outFormattare l'outputClasse ScannerRipasso - Fino a 120Ripasso - Vero o falso10Metodi (Funzioni)
Dichiarare i metodiParametri dei metodiTipi di ritornoSovraccarico dei metodiRipasso - Funzione SigmaRipasso - Funzione di validazioneMetodi void13Operazioni sulle stringhe
Metodi delle stringhe Parte 1Metodi delle stringhe Parte 2Formattazione delle stringheConfronto tra stringhe5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 43Variabili Parte 2
CostantiConvenzioni di denominazioneRipasso - Inizializzare le variabiliConversione dei tipi Parte 1Conversione dei tipi Parte 26Decisioni
Istruzione ifIf - ElseIstruzione switchOperatore ternarioRiepilogo - If ElseIf - Else annidatiEsercitati da solo: Compilatore Java online