Menu
Coddy logo textTech

Logical Operators Part 4

Teil des Abschnitts Grundlagen der Java-Journey von Coddy — Lektion 26 von 73.

Das De Morgansche Gesetz ist eine Regel, die uns hilft, Ausdrücke mit NOT darin zu vereinfachen. Beim Arbeiten mit logischen Ausdrücken müssen wir diese manchmal vereinfachen oder umstellen.

Wenn du ein not vor zwei Bedingungen hast, die durch and verbunden sind, kannst du es in zwei separate Teile aufteilen. Das and wird zu or, und jeder Teil erhält sein eigenes not:

!(A && B) ist das Gleiche wie (!A) || (!B)

Zum Beispiel:

// Lassen Sie uns prüfen, ob eine Zahl NICHT (zwischen 1 und 10) liegt
int number = 15;

// Diese beiden Ausdrücke sind gleichwertig:
boolean result1 = !(number >= 1 && number <= 10);
boolean result2 = !(number >= 1) || !(number <= 10);

System.out.println(result1);  // true
System.out.println(result2);  // true

Das Gegenteil ist ebenfalls korrekt: !(A || B) ist dasselbe wie (!A) && (!B)

Zum Beispiel:

// Überprüfen, ob eine Person NICHT (ein Student oder angestellt) ist
boolean isStudent = false;
boolean isEmployed = false;

// Diese beiden Ausdrücke sind äquivalent:
boolean result1 = !(isStudent || isEmployed);
boolean result2 = !(isStudent) && !(isEmployed);

System.out.println(result1);  // true
System.out.println(result2);  // true
challenge icon

Aufgabe

Anfänger

Du hilfst einer Tierhandlung dabei, ein System zu entwickeln, um zu bestimmen, ob sie ein Haustier an einen Kunden verkaufen können.

Initialisiere die folgenden Variablen:

  • hasLicense mit dem Wert true
  • hasSpace mit dem Wert false
  • hasExperience mit dem Wert true

Schreibe die folgenden logischen Ausdrücke, um zu bestimmen, ob:

  • canSellRegularPet: Der Kunde benötigt ENTWEDER eine Lizenz ODER Erfahrung UND muss Platz haben
  • canSellExoticPet: Der Kunde benötigt SOWOHL eine Lizenz ALS AUCH Erfahrung UND muss Platz haben
  • cannotSellAnyPet: Der Kunde hat KEINE Lizenz UND KEINE Erfahrung ODER hat KEINEN Platz
  • result: canSellRegularPet ODER canSellExoticPet ODER cannotSellAnyPet

Tipp: Schreibe die Bedingung, die die Anforderung beschreibt, nicht den Wert, den die Variable zufällig gerade hält. "Muss Platz haben" → hasSpace; "hat KEINEN Platz" → !hasSpace. Verwende ! nur dann, wenn die Anforderung das Gegenteil dessen ist, was der Variablenname aussagt, wie zum Beispiel "hat KEINE Lizenz" → !hasLicense.

Probier es selbst

public class Main {
    public static void main(String[] args) {
        // Variablen initialisieren
        

        // Bedingungen berechnen
        boolean canSellRegularPet = 
        boolean canSellExoticPet = 
        boolean cannotSellAnyPet =
        boolean result =

        // Die folgenden Zeilen nicht löschen
        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);
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen