Opérateurs logiques, partie 4
Fait partie de la section Fondamentaux du Journey Java de Coddy. Leçon 26 sur 73.
La loi de De Morgan est une règle qui nous aide à simplifier les expressions qui contiennent NOT. Lorsque nous travaillons avec des expressions logiques, nous devons parfois les simplifier ou les réorganiser.
Lorsque not se trouve devant deux conditions reliées par and, tu peux le répartir en deux parties distinctes. Le and devient or, et chaque partie reçoit son propre not :
!(A && B) est équivalent à (!A) || (!B)
Par exemple :
// Vérifions si un nombre n'est PAS (entre 1 et 10)
int number = 15;
// Ces deux expressions sont équivalentes :
boolean result1 = !(number >= 1 && number <= 10);
boolean result2 = !(number >= 1) || !(number <= 10);
System.out.println(result1); // true
System.out.println(result2); // trueL’inverse est également correct : !(A || B) est identique à (!A) && (!B)
Par exemple :
// Vérifier si une personne n'est PAS (étudiante ou employée)
boolean isStudent = false;
boolean isEmployed = false;
// Ces deux expressions sont équivalentes :
boolean result1 = !(isStudent || isEmployed);
boolean result2 = !(isStudent) && !(isEmployed);
System.out.println(result1); // true
System.out.println(result2); // trueDéfi
DébutantVous aidez une animalerie à créer un système permettant de déterminer si elle peut vendre un animal à un client.
Initialisez les variables suivantes :
hasLicenseavec la valeurtruehasSpaceavec la valeurfalsehasExperienceavec la valeurtrue
Écrivez les expressions logiques suivantes pour déterminer si :
canSellRegularPet: le client a besoin SOIT d'une licence, SOIT d'expérience, ET doit avoir de l'espacecanSellExoticPet: le client a besoin À LA FOIS d'une licence ET d'expérience, ET doit avoir de l'espacecannotSellAnyPet: le client n'a NI licence NI expérience, OU n'a PAS d'espaceresult:canSellRegularPetOUcanSellExoticPetOUcannotSellAnyPet
Conseil : Écrivez la condition décrite par l'exigence, et non la valeur que la variable contient actuellement. "Must have space" → hasSpace ; "has NO space" → !hasSpace. Utilisez ! uniquement lorsque l'exigence est l'opposé de ce qu'indique le nom de la variable, comme "has NO license" → !hasLicense.
Essayez vous-même
public class Main {
public static void main(String[] args) {
// Initialiser les variables
// Calculer les conditions
boolean canSellRegularPet =
boolean canSellExoticPet =
boolean cannotSellAnyPet =
boolean result =
// Ne pas supprimer les lignes ci-dessous
System.out.println("Can sell regular pet: " + canSellRegularPet);
System.out.println("Can sell exotic pet: " + canSellExoticPet);
System.out.println("Cannot sell any pet: " + cannotSellAnyPet);
System.out.println("Result: " + 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