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 і навпаки.
Корисні вирази:
| Вираз | Результат |
|---|---|
|
|
|
|
|
|
|
|
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
!(a && b) = !a && !bЗаперечення виразу «A і B» рівне виразу «не A і не B».!(a || b) = !a || !bЗаперечення виразу «A або B» рівне виразу «не A або не B».просто варто запам'ятати напевно та і все