Operatory logiczne | Kurs Java

Operatory logiczne

Operatory logiczne działają na wartościach logicznych (typ boolean) i same zwracają wartość logiczną, realizując podstawowe operacje algebry Boole’a.

Argumenty operatorów wyliczane są zawsze od lewej do prawej strony. Wyliczenie wartości drugiego operatora może zostać pominięte, jeżeli na podstawie pierwszego można określić wynik całej operacji.

Negacja !

Negację, czyli zaprzeczenie, można tłumaczyć jako “nieprawda, że”. W Javie do jej prezentacji wykorzystywany jest operator znaku wykrzyknika !.

value !value
true false
false true

Prawo podwójnego przeczenia

Podwójne przeczenie zeruje się i wartość pozostaje bez zmian.

true == !!true

Koniunkcja &&

Operator koniunkcji przyjmuje dwa argumenty typu boolean i również zwraca typ boolean. Można go przetłumaczyć jako zdanie, że koniunkcja jest prawdziwa wtedy i tylko wtedy, gdy oba jej argumenty są prawdą. Koniunkcja nazywana jest też iloczynem logicznym.

value1 value2 value1 && value2
false false false
false true false
true false false
true true true

Alternatywa ||

Alternatywa, czyli suma logiczna, jest prawdziwa, jeżeli chociaż jeden z jej argumentów jest prawdziwy.

value1 value2 value1 || value2
false false false
false true true
true false true
true true true

W przeciwieństwie do koniunkcji, w alternatywie może zdarzyć się, że jej drugi argument nie zostanie wyliczony. Argumenty zawsze wyliczane są od lewego do prawego. Jeżeli pierwszy będzie prawdą, to niezależnie od wyniku drugiego, całe wyrażenie również zwróci prawdę, dlatego w celach optymalizacyjnych Java pomija wyliczanie drugiego argumentu. Jeżeli drugi argument będzie metodą i nie zostanie ona wywołana, może to prowadzić do ciężkich do wykrycia błędów, dlatego nie powinno się uzależniać swojego kodu od jej wykonania.

Alternatywa rozłączna (XOR) !=

Alternatywa rozłączna jest operatorem o wyjątkowo wielu nazwach. Bywa również określana jako alternatywa wykluczająca, różnica symetryczna, suma poprzeczna, suma modulo 2, kontrawalencja, XOR, Exclusive OR i EOR.

Można ją przetłumaczyć jako: albo to, albo tamto, czyli jej argumenty muszą być różne, żeby całe wyrażenie zwróciło prawdę.

value1 value2 value1 != value2
false false false
false true true
true false true
true true false

Równoważność ==

Równoważność jako wyrażenie jest poprawne, jeżeli oba jej argumenty są identyczne, czyli albo oba są prawdą, albo oba fałszem.

value1 value2 value1 == value2
false false true
false true false
true false false
true true true

Programista – Pytania rekrutacyjne

Lista pytań rekrutacyjnych, które pozwolą przygotować Ci się na rozmowę kwalifikacyjną.

2 komentarze
Share:

2 Comments

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *