Operatory logiczne — część 4
Część sekcji Podstawy ścieżki Java w Coddy. Lekcja 26 z 73.
Prawo de Morgana to reguła, która pomaga nam upraszczać wyrażenia zawierające operator NOT. Podczas pracy z wyrażeniami logicznymi czasami musimy je uprościć lub przekształcić.
Gdy przed dwoma warunkami połączonymi przez and znajduje się not, możesz rozdzielić je na dwie osobne części. and zmienia się w or, a każda część otrzymuje własne not:
!(A && B) jest tym samym co (!A) || (!B)
Na przykład:
// Sprawdźmy, czy liczba NIE jest (między 1 a 10)
int number = 15;
// Te dwa wyrażenia są równoważne:
boolean result1 = !(number >= 1 && number <= 10);
boolean result2 = !(number >= 1) || !(number <= 10);
System.out.println(result1); // true
System.out.println(result2); // trueOdwrotność również jest prawdziwa: !(A || B) jest tym samym co (!A) && (!B)
Na przykład:
// Sprawdzenie, czy osoba NIE jest (studentem ani osobą zatrudnioną)
boolean isStudent = false;
boolean isEmployed = false;
// Te dwa wyrażenia są równoważne:
boolean result1 = !(isStudent || isEmployed);
boolean result2 = !(isStudent) && !(isEmployed);
System.out.println(result1); // true
System.out.println(result2); // trueWyzwanie
PoczątkującyPomagasz sklepowi zoologicznemu stworzyć system, który określi, czy można sprzedać zwierzę klientowi.
Zainicjuj następujące zmienne:
hasLicensez wartościątruehasSpacez wartościąfalsehasExperiencez wartościątrue
Zapisz następujące wyrażenia logiczne, aby określić, czy:
canSellRegularPet: klient potrzebuje licencji LUB doświadczenia ORAZ musi mieć miejscecanSellExoticPet: klient potrzebuje licencji ORAZ doświadczenia, A TAKŻE musi mieć miejscecannotSellAnyPet: klient NIE ma licencji ANI doświadczenia LUB NIE ma miejscaresult:canSellRegularPetLUBcanSellExoticPetLUBcannotSellAnyPet
Wskazówka: Zapisz warunek opisany w wymaganiu, a nie wartość, którą akurat przechowuje zmienna. „Musi mieć miejsce” → hasSpace; „nie ma miejsca” → !hasSpace. Użyj ! tylko wtedy, gdy wymaganie jest przeciwieństwem tego, co określa nazwa zmiennej, na przykład „nie ma licencji” → !hasLicense.
Spróbuj swoich sił
public class Main {
public static void main(String[] args) {
// Zainicjalizuj zmienne
// Oblicz warunki
boolean canSellRegularPet =
boolean canSellExoticPet =
boolean cannotSellAnyPet =
boolean result =
// Nie usuwaj poniższych wierszy
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);
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Metody System.outFormatowanie wyjściaKlasa ScannerPowtórka – do 120Powtórka – prawda czy fałsz10Metody (funkcje)
Deklarowanie metodParametry metodTypy zwracanePrzeciążanie metodPowtórzenie – funkcja SigmaPowtórzenie – funkcja walidującaMetody void13Operacje na ciągach znaków
Metody ciągów znaków — część 1Metody ciągów znaków — część 2Formatowanie ciągów znakówPorównywanie ciągów znaków5Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 43Zmienne — część 2
StałeKonwencje nazewnictwaPodsumowanie — inicjalizacja zmiennychKonwersja typów — część 1Konwersja typów — część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator trójargumentowyPowtórka: if - elseZagnieżdżone if - elsePoćwicz samodzielnie: Kompilator Java online