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