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.
І що ж тоді робити? Відповідь на це запитання ви знайдете в наступній лекції.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ