1. Тип boolean

Як ми вже з'ясували, у Java є дуже корисний оператор — if-else. Він виконує один блок команд, якщо умова в дужках істинна, і другий блок команд — якщо умова хибна.

Щоб було зручніше працювати з такими виразами (які можуть бути істинними або хибними), у мову Java додали спеціальний тип — boolean. Його головна особливість полягає в тому, що змінні цього типу можуть набувати лише двох значень: true (істина) і false (хибність).

Жодне інше значення присвоїти змінній типу boolean неможливо. Компілятор не дозволить.

І навіщо ж потрібен такий примітивний тип?

Річ у тім, що в ньому можна зберігати значення логічних виразів. Приклад:

Код Пояснення
boolean isOK = true;
Логічна змінна isOK містить значення true (істина)
boolean hasError = false;
Логічна змінна hasError містить значення false (хибність)
int age = 70;
boolean isSenior = (age > 65);
Логічна змінна isSenior містить значення true (істина)
int record = 612;
int value = 615;
boolean hasNewRecord = (value > record);
Логічна змінна hasNewRecord містить значення true (істина)
int min = 0;
int max = 100;
int temperature = -20;
boolean isIce = (temperature < min);
boolean isSteam = (temperature > max);

Логічна змінна isIce містить значення true (істина)

Логічна змінна isSteam містить значення false (хибність)


2. Використання булевих змінних

Від булевих змінних було б мало користі, якби в них можна було тільки зберігати результати виразів. Уся річ у тім, що їх можна ще й використовувати. Де? Та скрізь, де можна написати логічний вираз.

Наприклад, логічну змінну можна підставити в умову if:

Код Еквівалент
int age = 70;
boolean isSenior = (age > 65);
if (isSenior)
   System.out.println("Час на пенсію");
int age = 70;
if (age > 65)
   System.out.println("Час на пенсію");

У цьому прикладі користі від такої заміни небагато, але що більша програма, то складніші в ній умови. Найближчим часом ви в цьому переконаєтеся.



3. Оператори порівняння

У Java, як і в інших мовах програмування, часто доводиться порівнювати змінні між собою. І саме для порівняння в Java є такі оператори:

Оператор Пояснення Приклад
< Менше a < 10
> Більше b > a
<= Менше або дорівнює (не більше) a <= 10
>= Більше або дорівнює (не менше) speed >= max
== Дорівнює age == 18
!= Не дорівнює time != 0

Результатом дії кожного з наведених вище операторів буде логічний вираз. Його можна зберегти в змінній типу boolean або ж використовувати як умову в операторі if.

Важливий момент 1:

Оператори, що складаються з двох символів, розривати не можна.

Тобто такий код не компілюватиметься:

a < = 10
speed > = max
age = = 18
time ! = 0
Важливий момент 2:

Зверніть увагу, що операторів => й =< не існує: є лише <= та >=. Якщо ви напишете a =< 3, ваш код просто не скомпілюється.

Важливий момент 3:

У Java ви не можете записати вираз у вигляді 18 < age < 65. Адже вираз 18 < age матиме значення true або false. А порівнювати true < 65 (різні типи) не можна. Принаймні в мові Java.

І що ж тоді робити? Відповідь на це запитання ви знайдете в наступній лекції.