Menu
Coddy logo textTech

Opérateurs logiques, partie 3

Fait partie de la section Fondamentaux du Journey Java de Coddy. Leçon 25 sur 73.

Lors de la vérification de plusieurs conditions, l’ordinateur cesse de vérifier dès qu’il connaît la réponse finale (on appelle cela l’évaluation en court-circuit).

Par exemple :

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

Ici, x est égal à 0 ; par conséquent, il n’évaluera pas y / x > 2. Si nous inversions l’ordre :

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

Cela entraînera une erreur, car y sera divisé par 0, ce qui est illégal en mathématiques.

Cette technique est utilisée pour optimiser l’évaluation des expressions logiques. Par exemple :

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

Dans cet exemple, b < 2 et d < 10 ne seront pas évalués, car a > 0 et c < -5 sont tous deux faux.

challenge icon

Défi

Débutant

Créons un programme pour déterminer si c'est une bonne journée pour la production d'énergie solaire

Initialisez ces variables :

  • isSunny avec la valeur true
  • windSpeed avec la valeur 5.4
  • temperature avec la valeur 23
  • solarPanelOutput avec la valeur 9
  • isCloudy avec la valeur false

Créez une expression logique qui vérifie TOUTES ces conditions :

  • Il fait beau
  • La vitesse du vent est inférieure à 10
  • La production du panneau solaire est inférieure à 15
  • La température est supérieure à 20 OU il n'y a pas de nuages

Essayez vous-même

public class Main {
    public static void main(String[] args) {
        // Initialiser les variables
        // Remplacez chaque valeur d'espace réservé ci-dessous par la valeur demandée par la tâche
        boolean isSunny = false;
        double windSpeed = 0.0;
        int temperature = 0;
        int solarPanelOutput = 0;
        boolean isCloudy = false;

        // L'expression logique complète
        // Remplacez l'espace réservé ci-dessous par une expression qui combine les quatre conditions
        boolean result = false;

        // Ne supprimez pas les lignes ci-dessous
        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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur Java en ligne