Назад Зміст Вперед

2.5. Логічні функції NOT, AND, OR, XOR

Тип boolean. Змінні цього типу можуть приймати лише два значення - true (істина/ правда) і false (брехня). Цей тип неявно використовується в багатьох місцях. 
Приклади:
код
пояснення
boolean m;
Два даних вирази еквівалентні. Значення зміною типу boolean за замовчуванням false ( «брехня»).
boolean m = false ;
if (a> b)
     System.out.println (a);
У змінну m буде записаний результат порівняння - true або false. Умова виконується, якщо переданий в нього вираз істинний - true.
boolean  m = (a> b);
 if ( m )
     System.out.println (a);
boolean m = (a> b);
 if (m == true )
     System.out.println (a);
Не потрібно порівнювати логічну змінну (типу boolean ) з true або false. 
Результат порівняння сам матиме тип
 boolean, і в точності збігатиметься зі значенням: 
true == true - істина. Результат виразу - true. 
True == false - брехня. Результат порівняння - false.
boolean m = (a> b);
 if (m)
     System.out.println (a);
public boolean  isALessThenB (int a, int b)
{
    if (a <b)
        return true ;
     else 
        return false ;
}
Даний метод перевіряє, чи число А менше від числа Б. 

Показані чотири еквівалентних записи порівняння.
 Внизу найкомпактніший і коректний. Завжди старайся використовувати компактний запис.
public boolean  isALessThenB (int a, int b)
{
    boolean  m = (a <b);
    if ( m )
        return true ;
     else 
        return false ;
}
public boolean  isALessThenB (int a, int b)
{
    boolean  m = (a <b);
     return  m ;
}
public boolean   isALessThenB (int a, int b)
{
    return a <b;
}
У Java є три логічних оператора: AND (і), OR (або) і NOT (не). За допомогою них можна будувати умови різної складності. Ці оператори можна застосовувати тільки до виразу, що має тип boolean. Тобто (a + 1) AND (3) написати не можна, а (a> 1) AND (a <3) - можна.
Оператор NOT - унарний - його дія поширюється тільки на вираз праворуч від нього. Він більше схожий на знак «мінус» перед від’ємним числом, ніж на знак помножити
Зі змінними типу boolean (логічний тип) можна виконувати різні операції:
логічний Oператор
Позначення в Java
вираз
результат
AND (і)
&&
true && true
true
true && false
false
false && true
false
false && false
false
OR (або)
||
true || true
true
true || false
true
false || true
true
false || false
false
NOT (не)
!
! true
false
! false
true
Поширені комбінації і вирази
m &&! m
false
m || ! m
true
! (A && b)
! A || ! b
! (A || b)
! A &&! B

Запис в Java
Логічна запис
Пояснення
(A <3) && (a> 0)
(A <3) AND (a> 0)
a <3 і a> 0
(A> 10) || (A <100)
(A> 10) OR (a <100)
a> 10 або a <100
(A <b) && (! (C <= d))
(A <b) AND (NOT (c <= d))
a <b і (ні (c <= d))

Задачі
1
Ввести з клавіатури ціле число. 
Вивести на екран його рядок-опис такого вигляду:
 
«від’ємне парне число» - якщо число від’ємне і парне,
 
«від’ємне непарне число» - якщо число від’ємне і непарне,
 
«нульове число» - якщо число дорівнює
 0 , 
«додатне парне число» - якщо число додатне і парне,
 
«додатне непарне число» - якщо число додатне і непарне.
2
Ввести з клавіатури ціле число в діапазоні 1 - 999 . 
Вивести його рядок-опис такого вигляду:
 
«парне однозначне число» - якщо число парне і має одну цифру,
 
«непарне однозначне число» - якщо число непарне і має одну цифру,
 
«парне двозначне число »- якщо число парне і має дві цифри,
 
« непарне двозначне число »- якщо число непарне і має дві цифри,
 
« парне тризначне число »- якщо число парне і має три цифри,
 
« непарне тризначне число »- якщо число непарне і має три цифри.
 
Якщо введене число не потрапляє в діапазон
 1 - 999 , в такому випадку нічого не виводити на екран.
3
Ввести з клавіатури три цілих числа. Вивести на екран кількість додатних чисел в початковому наборі.
4
Ввести з клавіатури три цілих числа. 
Вивести на екран кількість додатних і кількість від’ємних чисел в початковому наборі, в наступному вигляді: "кількість від’ємних чисел:
 а ", "кількість додатних чисел: b ", де а ,b - шукані значення.

.