1. Тип boolean
Як ми вже з'ясували, у Java є дуже корисний оператор — if-else
. Він виконує один блок команд, якщо умова в дужках істинна, і другий блок команд — якщо умова хибна.
Щоб було зручніше працювати з такими виразами (які можуть бути істинними або хибними), у мову Java додали спеціальний тип — boolean
. Його головна особливість полягає в тому, що змінні цього типу можуть набувати лише двох значень: true
(істина) і false
(хибність).
Жодне інше значення присвоїти змінній типу boolean
неможливо. Компілятор не дозволить.
І навіщо ж потрібен такий примітивний тип?
Річ у тім, що в ньому можна зберігати значення логічних виразів. Приклад:
Код | Пояснення |
---|---|
|
Логічна змінна isOK містить значення true (істина) |
|
Логічна змінна hasError містить значення false (хибність) |
|
Логічна змінна isSenior містить значення true (істина) |
|
Логічна змінна hasNewRecord містить значення true (істина) |
|
Логічна змінна Логічна змінна |
2. Використання булевих змінних
Від булевих змінних було б мало користі, якби в них можна було тільки зберігати результати виразів. Уся річ у тім, що їх можна ще й використовувати. Де? Та скрізь, де можна написати логічний вираз.
Наприклад, логічну змінну можна підставити в умову if
:
Код | Еквівалент |
---|---|
|
|
У цьому прикладі користі від такої заміни небагато, але що більша програма, то складніші в ній умови. Найближчим часом ви в цьому переконаєтеся.
3. Оператори порівняння
У Java, як і в інших мовах програмування, часто доводиться порівнювати змінні між собою. І саме для порівняння в Java є такі оператори:
Оператор | Пояснення | Приклад |
---|---|---|
< |
Менше |
a < 10
|
> |
Більше |
b > a
|
<= |
Менше або дорівнює (не більше) |
a <= 10
|
>= |
Більше або дорівнює (не менше) |
speed >= max
|
== |
Дорівнює |
age == 18
|
!= |
Не дорівнює |
time != 0
|
Результатом дії кожного з наведених вище операторів буде логічний вираз. Його можна зберегти в змінній типу boolean
або ж використовувати як умову в операторі if
.
Оператори, що складаються з двох символів, розривати не можна.
Тобто такий код не компілюватиметься:
a < = 10
speed > = max
age = = 18
time ! = 0
Зверніть увагу, що операторів =>
й =<
не існує: є лише <=
та >=
. Якщо ви напишете a =< 3
, ваш код просто не скомпілюється.
У Java ви не можете записати вираз у вигляді 18 < age < 65
. Адже вираз 18 < age
матиме значення true
або false
. А порівнювати true < 65
(різні типи) не можна. Принаймні в мові Java.
І що ж тоді робити? Відповідь на це запитання ви знайдете в наступній лекції.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ