JavaRush/Java блог/Random UA/Оператори порівняння та логічні оператори. Розгалуження у...
articles
15 рівень

Оператори порівняння та логічні оператори. Розгалуження у програмі. Умовний оператор

Стаття з групи Random UA
учасників

Логічні оператори

Існує кілька бінарних логічних операторів та один унарний. Як аргументи для всіх цих операторів виступають логічні літерали (константи), логічні змінні та вирази, що мають логічне значення.
Оператори порівняння та логічні оператори.  Розгалуження у програмі.  Умовний оператор - 1
Оператори:
  • !— «заперечення», унарний оператор, змінює значення протилежне (інвертує: брехня перетворює на істину, а істину — на брехню).
  • &&— логічне «і» («кон'юнкція», «перетин»), бінарна операція, повертає справжнє значення тоді й лише тоді, коли обидва операнди істини.
  • ||— логічне «або» («диз'юнкція», «об'єднання»), бінарна операція, повертає справжнє значення, коли хоча б один із справжніх операндів.
У логічних операторів наступний пріоритет: заперечення, кон'юнкція, диз'юнкція. Так само, як і у випадку з арифметичними операторами для корекції пріоритету, використовуються круглі дужки. Якщо одна пара дужок вкладена в іншу пару дужок, спочатку обчислюється значення у внутрішніх дужках. Приклади:
boolean a = true;
boolean b;
b = a || true; // b истинно
b = !b; // b ложно
System.out.println(b); // выведет false
a = a || b; // a истинно
boolean c;
c = a && (a||b); //с истинно
System.out.println(c); // выведет true
У Java логічний та числові типи не можна перетворювати один до одного.

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

Більшість операторів порівняння застосовуються до числових значень. Все це бінарні оператори, які мають два числові аргументи, але повертають логічне значення.
  • >- Оператор "більше".
  • >=- Оператор «більше або одно».
  • <- Оператор "менше".
  • <=- Оператор «менше або одно».
  • !=- Оператор "не рівно".
  • ==- Оператор еквівалентності (рівності).
Останні два оператори можуть застосовуватися як для числових значень, а й, наприклад, для логічних. Приклади:
boolean m;
m = 5 >= 4; // истина
m = 5 != 5 || false; // ложь
boolean w;
w = m == false; // истина
System.out.println(w); // выведет true
Дуже важливо не плутати оператора еквівалентності з операцією присвоєння. У виразах, де зустрічаються оператори різних типів, спочатку виконуються арифметичні операції, потім операції порівняння, потім логічні операції та в останню чергу привласнення.

Умовний оператор if

Оператор ifзабезпечує виконання чи пропуск інструкції залежно від зазначеної логічної умови. Якщо умова є істинною, то інструкція виконується.
if (умова) инструкция;
На місці інструкції може бути як звичайна інструкція (одна команда), так і складова інструкція (блок, що містить кілька команд, у тому числі інші умовні оператори). Приклади (якщо в якості значень змінних буде вказано нуль, то поділ не буде вироблятися і його результат не виводитиметься на екран):
// Пример 1
int a = 25;
if (a != 0) System.out.println( 100/a );
// Пример 2
int b = 25;
if (b != 0) {
  System.out.println( 100/b );
}
Не дивлячись на те, що код у першому прикладі виглядає компактнішим, тільки у другому прикладі можна було б виконати декілька інструкцій у разі істинності умови. Оператор ifмає формат з додатковою частиною else:
if (умова)
инструкция1;
else
инструкция2;
У разі істинності умови виконується проста чи складова інструкція1 , а у разі помилковості проста чи складова інструкція2 . Приклад:
int a = 0;
if (a != 0) System.out.println( 100/a );
else System.out.println("На нуль делить нельзя");
Коментарі
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Для цієї сторінки немає коментарів.