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