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».просто варто запам'ятати напевно та і все