Menu
Coddy logo textTech

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.

challenge icon

Sfida

Principiante

Creiamo un programma per decidere se è una buona giornata per la produzione di energia con i pannelli solari

Inizializza queste variabili:

  • isSunny con il valore true
  • windSpeed con il valore 5.4
  • temperature con il valore 23
  • solarPanelOutput con il valore 9
  • isCloudy con 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);
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Java online