JavaRush /Курсы /Java Syntax Pro /Логический тип boolean

Логический тип boolean

Java Syntax Pro
3 уровень , 5 лекция
Открыта

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 Syntax Pro, 3 уровень, 5 лекция
Недоступна
Измерим температуру тела
Программа считывает с клавиатуры значение температуры тела и выдает сообщение о том, что температура тела высокая, низкая или нормальная, в зависимости от условий. В классе объявлены две булевые переменные isHigh (высокая температура) и isLow (низкая), в которые нужно вынести соответствующие усл

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.

И что же делать? Ответ на этот вопрос вы найдете в следующей лекции.


3
Задача
Java Syntax Pro, 3 уровень, 5 лекция
Недоступна
Три числа
Ввести с клавиатуры три целых числа. Определить, есть ли среди них хотя бы одна пара равных между собой чисел. Если такая пара существует, вывести на экран числа через пробел. Если все три числа равны между собой, то вывести все три. Примеры: а) при вводе чисел 1 2 2 получим вывод 2 2 б) при вводе ч

Комментарии (677)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
REK.QA Уровень 3
22 марта 2025
С пробельчиками засада, конечно)))
Илья Уровень 3
20 марта 2025
}else if(number1==number2 && number2==number3){ А почему таким образом нельзя сравнить сразу все 3?
David Уровень 13
21 марта 2025
Такое сравнение вполне можно использовать, если тебе нужно проверить, что все три числа равны и далее проводить с этим какие-либо действия, НО если тебе нужно сравнить числа по-другому (например, проверить, есть ли среди них хотя бы два одинаковых, но не обязательно все три), то это условие уже не подойдет. Так как они записасаны и сравниваются все разом.
Илья Уровень 3
22 марта 2025
Так как раз был вариант для сравнения всех 3х, для сравнения 1/2,2/3 и 1/3 другое сравнение использовал. Но почему-то такой не прошел для сравнения 3х. В любом случае спасибо))
Ольга М. Уровень 3
14 марта 2025
Мое понимание закончилось три лекции назад. Теперь просто рефлексирую
Виктор Уровень 3
14 марта 2025
Подсказ-очка по второй таске, в булин проверять три числа между собой в одних скобках, затем каждые 2 числа отдельно три раза. Далее выводим всё в условный оператор и придёт успех.
Анастасия Уровень 5
28 февраля 2025
надо было задачу вторую давать раньше) а не после boolean ))) и 70% решили бы правильно))))))))))))))))))))))))))))))))))))))))))))))))))
26 февраля 2025
очень рекомендую IntelliJ IDEA Community, если кто не поставил еще. Просто на смарте не удобно, а на ПК сидишь, тыкаешь постепенно наращивая код. не сработало => читаешь, проверяешь, опять читаешь. я так делал, правда портянка получилась, но на IDE всё работает. не знаю как тут. сейчас залью - проверю=-)
Anonymous #3552945 Уровень 4
26 февраля 2025
|| - эта самая лучшая подсказка для 2й задачи, означает "либо". Мне && не помогло оно всё равно означает "и"
Anonymous #3547365 Уровень 4
22 февраля 2025
"" должны быть с пробелом
Barabulka Уровень 3
20 февраля 2025
Не советую смотреть ответы, решения в комментариях которые сливают "добрые" люди и прибегать к помощи нейросетей. По факту вы подсматриваете ответы в конце учебника. Привыкните и приплыли. Дальше будет сложнее и нейро не всегда будет генерить верный ответ, пройдете весь курс смотря решение и считайте вы в пустую потратили время. Лучше разобраться, найти ответ самим , посмотреть доп инфу но найти решение самому. Тогда смысл будет в этом вот во всём.
Alexander Dagaev Уровень 6
13 февраля 2025
серьёзно ? а как такой такие когда вообще можно написать человеку с 0 ! я даже представить не мог что такое вообще можно сделать ?! у вас задачи явно не для людей начинающих с 0 ! не покупайте ни в коем случае премиум подписку если начинаете полностью с нуля и ваши знания базируются информатикой в 9 классе
16 февраля 2025
да ладно, на задачке же стоит, что она среднего уровня. Плюс в самой лекции есть аналогичный пример с температурой)) и задачки должны быть по нарастающей сложности, чтобы мы где-то могли испытать затык и посидеть над ней. Так что я не согласен.