JavaRush /Курсы /Java Syntax /Тип boolean

Тип boolean

Java Syntax
4 уровень , 7 лекция
Открыта

— Привет, Амиго. Хочу рассказать тебе о новом типе данных. Это тип boolean. Переменные этого типа могут принимать всего два значения – true (истина/правда) и false (ложь).

— А как его использовать?

— Этот тип неявно используется во многих местах. Так же, как и результат любого сложения – число, то и результат любого сравнения – истина или ложь – тип boolean. Примеры:

Код Пояснение
1
boolean m;
Два данных выражения эквивалентны. Значение переменой типа boolean по умолчанию false («ложь»).
2
boolean m = false;
3
if (a > b) 
    System.out.println(a);
 В переменную m будет записан результат сравнения – true или false. Условие выполняется, если переданное в него выражение истинно – true.
4
boolean m = (a > b);
if (m) 
    System.out.println(a);
5
boolean m = (a > b);
if (m == true) 
    System.out.println(a);
Не нужно сравнивать логическую переменную (типа boolean) c true или false. Результат сравнения сам будет иметь тип boolean, и в точности будет совпадать со значением сравниваемой переменой: 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;
}
Данный метод проверяет, что число А меньше числа Б.

Показаны четыре эквивалентных записи сравнения. Внизу самая компактная и корректная. Всегда старайся использовать компактную запись.

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;
}
4
Задача
Java Syntax Pro, 4 уровень, 7 лекция
Недоступна
Рисуем треугольник
Рисуем треугольник

— А что мне делать, если я хочу записать, выражение 0<a<b?

— Ну, выражений, которые включают три оператора, в Java нет, поэтому тут нужно воспользоваться такой конструкцией: (0<a) И (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))

— Реши пока немного задачек.

Комментарии (750)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Александр Уровень 17
23 октября 2025

boolean m;
Два данных выражения эквивалентны. 
Значение переменой типа boolean по умолчанию false («ложь»).
Переменная boolean m; будет иметь значение по умолчанию только если объявлена в классе или как статическая переменная. В других случаях ее надо явно инициализировать.
Anonymous #1 Уровень 14
16 июля 2025
Честно, уже раздражает полнейшеее отсутствие темы лекции в задачах к этой лекции. Почему задачи не связаны с лекцией? Из 4 задач, ты в лучшем случае решишь одну, остальные решить нельзя, потому что они вообще непонятно откуда взяты. Гуглить самомстоятельно? Для чего и кому это надо, что за наитупейшая логика, зачем мне вообще тогда этот ресурс)) Я уже до следующего уровня дошел, но материал для решения этих задач так и не появился. Что то я не помню, чтоб например в школе ты приходишь на урок, тебе дают материал твоего класса, а домашнее задание задачки для следующего класса, а учитель руками разводит мол ну а как вы хотели идите сами ищите учитесь)) Да, не должно быть легко, должны быть задачки со звоздочкой, но не все же! Текущий то материал в голове еще не отложился, а тебе надо уже следующий самостоятельно выискивать. Бред
777 777 Уровень 5
14 января 2025
ох и потрепали мне нервишки последние две задачи, вроде изучали boolean а решение происходило без их участия, а через цикл for на 3 итерации с последующим условием и счетчиком увеличивающимся на 1
Goodislav Уровень 24
30 ноября 2023
Последняя задача на числа полностью совпала с "правильным решением", даже переменные также назвал) не сочтите за хвастовство, просто радуюсь что получается и пока понимаю. Главное продолжать учиться. Всем удачи и терпения!
AlexK Уровень 24 Expert
23 мая 2023
System.out.println("количество отрицательных чисел:(сюда не забывайте пробел) "+a);
Sergey Svatanenko Уровень 3
29 мая 2023
святой Вы Человек.
Anton Serhiyenka Уровень 6
22 декабря 2022
1 переменная которая хранит в себе количество положительных чисел. 1 цикл for с одним условием, в котором проверяется "положительность" числа 1 выводной поток для вывода результата переменной
FelixDS Уровень 11
30 октября 2022
Вторую решил через массив, третья через массив не прошла😂 запихал if-ами )))
Максим Уровень 22 Expert
28 ноября 2022
мда,а как оказалось решение проще паренной репы )) это обалдеть,я мудрил что- то выискивал на ютубе,массивы какие то смотрел,а там.. эх
Ilya Уровень 28
13 сентября 2022
Пипец. В задаче на положительные числа расписывал каждый возможный вариант. Решение получилось правильное, но очень большое. А оказалось, что можно решить просто путем введения дополнительной переменной, её последовательного увеличения на 1 и вывода на экран )))))))))) Стоило мучаться )))
9 сентября 2022
В задаче на положительные и отрицательные числа, забыл поставить один пробел при выводе на консоль и задачу не принимали, один, блин, пробел, коллеги, будьте внимательней )))))
Егор Зотов Уровень 10
25 сентября 2022
так проверяй на компиляторе)
Максим Осколин Уровень 6
24 августа 2022
Можно какое-то понятное разъяснение по поводу второй задачи. Спасибо.
Rexalifet Уровень 23
24 августа 2022
https://vertex-academy.com/tutorials/ru/delenie-po-modulyu-v-java/ У четных чисел нет остатка от деления на два if (number %2 ==0) У нечётных остаток от деления имеется if (number %2 != 0)
Максим Осколин Уровень 6
25 августа 2022
Юрий спасибо) В итоге не понятно(
Кирилл Уровень 2
16 октября 2022
Что именно?