Фрагмент от лекция с ментор като част от курса на Codegym University. Запишете се за пълния курс.


„Здравей, Амиго. Нека ти разкажа за нов тип данни. Булевата . Променливите от този тип могат да приемат само две стойности: истина и невярно .

"Как да го използваме?"

"Този тип се използва имплицитно на много места. Точно Howто всяка операция за събиране произвежда число, резултатът от всяко сравнение е булево . Ето някои примери:"

Код Обяснение
1
boolean m;
Тези два израза са еквивалентни. Стойността по подразбиране на булева променлива е false .
2
boolean m = false;
3
if (a > b)
    System.out.println(a);
Резултатът от сравнението ( вярно or невярно ) ще бъде присвоен на променливата m. Условието е изпълнено, ако резултатът на израза е true .
4
boolean m = (a > b);
if (m)
    System.out.println(a);
5
boolean m = (a > b);
if (m == true)
    System.out.println(a);
Няма нужда да сравнявате логическа ( булева ) променлива с true or false . Резултатът от сравнението ще бъде булева стойност , която съответства на другата променлива. Например true == true се оценява на true; true == false се оценява на false .
6
boolean m = (a > b);
if (m)
    System.out.println(a);

„Още примери:“

Код Обяснение
1
public boolean isALessThanB (int a, int b)
{
    if (a < b)
        return true;
    else
        return false;
}
Този метод проверява дали числото a е по-малко от числото b.

Ето четири еквивалентни сравнения. Последният е най-компактен и правилен. Винаги се опитвайте да използвате компактна нотация.

2
public boolean isALessThanB (int a, int b)
{
   boolean m = (a < b);
    if (m)
        return true;
    else
        return false;
}
3
public boolean isALessThanB (int a, int b)
{
    boolean m = (a < b);
    return m;
}
4
public boolean isALessThanB (int a, int b)
{
    return a < b;
}

„Ами ако искам да напиша 0<a<b?“

"Java няма оператор за сравнение, който приема три операнда. Така че ще трябва да го направите по следния начин: (0<a) И (a<b) ."

„Да пиша ли думата И?“

„Чакай. Ще обясня това. Java има три логически оператора: И , ИЛИ и НЕ . Можете да ги използвате, за да конструирате условия с различна сложност. Можете да използвате тези оператори само с булеви изрази. Така че не можете да пишете ( a+1) AND (3) , но (a>1)AND (a<3) е ОК."

„ Операторът NOT е унарен: засяга само израза вдясно. По-скоро прorча на знак минус пред отрицателно число, отколкото на знак за умножение между две числа.“

"Можете да извършвате различни операции върху булеви (логически) променливи."

"Като например?"

„Хайде да погледнем:“

Логически оператор Java нотация Изразяване Резултат
И && вярно  &&  вярно вярно
вярно &&  невярно невярно
невярно  &&  вярно невярно
невярно && невярно невярно
ИЛИ || вярно || вярно вярно
вярно || невярно вярно
невярно || вярно вярно
невярно || невярно невярно
НЕ ! ! вярно невярно
! невярно вярно
Често срещани комбинации и изрази m && !m невярно
m || !м вярно
! (a && b) !a || !б
! (а || б) !a && !b

„Бихте ли ми дали още примери?“

"Сигурен:"

Java нотация Логическа нотация
(a<3) && (a>0) (a < 3) И (a>0)
(a>10) || (a<100) (a>10) ИЛИ (a<100)
(a<b) && (!(c<=d)) (a<b) И (НЕ (c<=d))

„Сега направете някои задачи.“