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 s'arrête dès qu'il connaît le résultat final (c'est ce qu'on appelle l'évaluation 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.
Défi
DébutantCréez un programme pour décider si c'est une bonne journée pour la production d'énergie par des panneaux solaires
Initialisez ces variables :
isSunnyavec la valeur truewindSpeedavec la valeur 5.4temperatureavec la valeur 23solarPanelOutputavec la valeur 9isCloudyavec la valeur false
Créez une expression logique qui vérifie TOUTES ces conditions :
- Il fait ensoleillé
- La vitesse du vent est inférieure à 10
- La production des panneaux solaires 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);
}
}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
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Méthodes System.outFormatage de la sortieClasse ScannerRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Méthodes (Fonctions)
Déclaration de méthodesParamètres de méthodeTypes de retourSurcharge de méthodesRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationMéthodes Void13Opérations sur les chaînes
Méthodes de chaînes, partie 1Méthodes de chaînes, partie 2Formatage de chaînesComparaison de chaînes5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 43Variables Partie 2
ConstantesConventions de nommageRécapitulatif - Initialisation des variablesType Casting Partie 1Type Casting Partie 26Prise de décision
Instruction IfIf - ElseInstruction SwitchOpérateur ternaireRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle For - Partie 1Boucle WhileBoucle Do WhileBreakContinueBoucle For - Partie 2Boucles imbriquéesBoucle infinieRécapitulatif - Entrée dynamique12Parcourir les tableaux
Utilisation de la boucle forBoucle for amélioréeOpérations courantes sur les tableauxEntraînez-vous par vous-même : Compilateur Java en ligne