1. Булева логіка
У мові Java не можна записати вираз 18 < age < 65 — він буде синтаксично некоректним і програма не скомпілюється.
Проте можна записати його так:
(18 < age) і (age < 65)
Зрозуміло, що замість слова І там буде інший логічний оператор, і зараз ми саме поговоримо про них детальніше.
В Java є три логічні оператори: AND (і), OR (или) и NOT (не).
Гарна новина: використовуючи дужки, можна побудувати логічні вирази будь-якої складності.
Погана новина: розробники Java вирішили замість слів and, or і not, використовувати позначення з мови мови C.
Увага на екран:
| Логічний оператор | Очікування | Реальність |
|---|---|---|
І (∧) |
and |
&& |
АБО (∨) |
or |
|| |
НЕ (¬) |
not |
! |
Ось кілька прикладів використання логічних операторів в Java:
| Вираз | Розшифрування | Пояснення |
|---|---|---|
|
|
|
|
|
|
|
|
|
2. Приклади використання операторів порівняння та булевих змінних
Там, де можна написати логічний вираз, можна написати і логічну змінну.
Наприклад:
| Код | Пояснення |
|---|---|
|
Якщо значення age лежить між 18 і 65, на екран виводиться текст «ви можете працювати». |
|
Ми створили змінну isYoung і винесли до неї першу частину виразу. Тільки замінили age >= 18 на age < 18. |
|
Ми створили змінну isOld і винесли до неї другу частину виразу. Водночас замінили age <= 65 на age > 65. |
Ці три приклади еквівалентні. Тільки у другому ми винесли частину виразу з умови if в окрему логічну змінну – isYoung. У третьому прикладі ми винесли другу частину виразу у другу змінну — isOld.
3. Логічна арифметика
Стисло пройдемося логічними операціями.
Оператор AND, він же і, він же &&, він же кон’юнкція.
| Вираз | Результат |
|---|---|
|
|
|
|
|
|
|
|
Іншими словами, результат виразу дорівнює true (істина), тільки якщо обидва значення, що беруть участь у виразі, дорівнюють true (істина). У решті випадків завжди false (неправда).
Оператор OR, він же АБО, він же ||, він же диз’юнкція.
| Вираз | Результат |
|---|---|
|
|
|
|
|
|
|
|
Іншими словами, результат виразу дорівнює true (істина) завжди, якщо хоча б одне значення, що бере участь у виразі, дорівнює true (істина). Якщо обидва рівні false, то результат false.
Оператор NOT, він же НЕ, він же !, він же інверсія.
| Вираз | Результат |
|---|---|
|
|
|
|
Міняє true на false і навпаки.
Корисні вирази:
| Вираз | Результат |
|---|---|
|
|
|
|
|
|
|
|
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ