Примитивы: логический тип (boolean)

Тренажер по Java для пользователей с начальным уровнем подготовки.

Тренажер по Java

boolean — примитивный логический тип в Java. Он хранит только два значения: true и false. Такие переменные нужны, чтобы управлять ветвлением и циклами: выполнять код при выполнении условия, отмечать состояние (например, «пользователь авторизован»), хранить результаты сравнений. В этом онлайн-тренажере по Java вы потренируетесь объявлять boolean, присваивать значения, получать их из сравнений и использовать в if. Формат — короткие практические задания и тесты с визуализацией кода: как работает условие и что выводится на экран.

  • Синтаксис: boolean isReady = true;
  • Пример: int age = 18; boolean adult = age >= 18;
Список тем

1. Объявление и присваивание boolean

id: 40435_rp_01_declare_boolean

Дополните фрагмент Java-кода так, чтобы программа компилировалась и корректно использовала логический флаг. Нужно объявить переменную примитивного типа для булевых значений, дать ей осмысленное имя и присвоить значение так, чтобы условие в if сработало и на экран было выведено сообщение о разрешённом доступе. Заполняйте только отмеченные пропуски, структуру кода не меняйте.

Заполните пропуски
public class Rp01DeclareBoolean {
  public static void main(String[] args) {
    // Флаг должен быть включён, чтобы сообщение вывелось.
    input1S input2S = input3S;
    if (input4S) System.out.println("Доступ разрешён");
  }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

2. boolean как результат сравнения

id: 40435_rp_02_boolean_from_comparison

Ниже дан фрагмент программы на Java: объявлены две целочисленные переменные, а затем создаётся логическая переменная, которая должна хранить результат сравнения этих чисел. Заполните пропуски так, чтобы код компилировался, переменная логического типа получила значение из операции сравнения, а затем в консоль вывелась строка с этим значением.

Заполните пропуски
public class Main {
    public static void main(String[] args) {
        int left = 10;
        int right = 7;

        input1S isLeftGreater = left input2S right;
        System.out.println(input3S);
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

3. Исправь ошибку в логическом литерале

id: 40435_er_01_fix_boolean_literal

Ниже приведён короткий фрагмент Java-кода, который должен объявить две переменные типа boolean и вывести их значения в консоль. Однако программа не компилируется из‑за типичной ошибки при записи логических значений. Исправьте ровно 1–2 локальные ошибки в строках с присваиванием, не меняя структуру программы и остальные строки.

Найдите ошибку и исправьте
public class Main {
    public static void main(String[] args) {
        boolean isAdmin = True;
        boolean hasAccess = FALSE;
        System.out.println("Admin: " + isAdmin + ", access: " + hasAccess);
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

4. Исправь условие в if

id: 40435_er_02_fix_if_condition

В этом фрагменте Java-кода есть boolean-переменная, по значению которой должен выполняться один из двух вариантов вывода. Однако в условии ветвления допущена локальная ошибка, из-за которой логика проверки становится неверной (и код не соответствует задаче). Исправьте только проблемную строку(и) с условием так, чтобы проверка boolean была корректной и однозначной.

Найдите ошибку и исправьте
public class Main {
    public static void main(String[] args) {
        boolean hasAccess = true;
        if (hasAccess = true) {
            System.out.println("Access granted");
        } else {
            System.out.println("Access denied");
        }
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

5. Собери программу с if/else по boolean

id: 40435_bfp_01_build_if_else_boolean

Из предложенных строк соберите корректную Java-программу: внутри метода main объявите переменную типа boolean и с помощью конструкции if/else выведите в консоль разные сообщения в зависимости от значения этой переменной. Среди строк может быть одна лишняя (она либо не компилируется, либо противоречит задаче) — её включать в решение не нужно.

Перетяните в правильном порядке строки из одного блока в другой
public class Main {
    public static void main(String[] args) {
        boolean hasAccess = true;
        if (hasAccess) System.out.println("Доступ разрешён"); else System.out.println("Доступ запрещён");
        if (hasAccess) System.out.println("Доступ разрешён")
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

6. Что выведет этот код?

id: 40435_pr_01_predict_if_output

Проанализируйте Java-код: логическая переменная вычисляется через сравнение чисел, после чего используется в ветвлении if/else. Ваша задача — определить, какая строка будет выведена в консоль, и выбрать правильный вариант из предложенных.

Выберите правильный вариант ответа
public class Main {
    public static void main(String[] args) {
        int a = 7;
        int b = 10;
        boolean ok = a >= b;

        if (ok) {
            System.out.println("YES");
        } else {
            System.out.println("NO");
        }
    }
}
Сообщения
Проверить
Показать подсказку

7. Выбери логические операторы

id: 40435_sf_01_select_fill_logical_ops

Перед вами фрагмент Java-кода с несколькими пропусками в условиях. Заполните пропуски, выбирая варианты из выпадающего списка, чтобы выражения стали логически корректными и код однозначно определял, является ли число "подходящим" по заданным правилам. Варианты включают логические операторы и отвлекающие (например, побитовые).

Нужно правильно расставить в пропуски предложенные варианты
public class Main {
    public static void main(String[] args) {
        int x = 5;
        boolean inRange = x > 0 input1S x < 10;
        boolean notSeven = input2S (x == 7);
        if (inRange input3S notSeven) {
            System.out.println("OK");
        } else {
            System.out.println("NO");
        }
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

8. Сопоставь понятия boolean и их смысл

id: 40435_cmp_01_match_boolean_concepts

Сопоставьте элементы из левой колонки (фрагменты кода и обозначения, связанные с boolean) с их смыслом или назначением в Java. Перетащите (или выберите) для каждого пункта слева один наиболее подходящий пункт справа. Все формулировки сделаны так, чтобы для каждой пары был только один однозначный вариант.

Сопоставьте строки в правой(нижней) части с соответствующими строками в левой(верхней) по порядковому номеру
boolean isOpen;
true
x >= 10
a && b
!flag
if (ready) { ... }
Логический литерал: конкретное значение типа boolean.
Ветвление: выполняет блок кода, только если условие истинно (true).
Сравнение, результатом которого является boolean-значение.
Логическое И: выражение истинно, только если истинны оба операнда.
Объявление переменной логического типа (может хранить только true/false).
Логическое отрицание: инвертирует значение boolean-выражения.
Сообщения
Проверить
Показать подсказку

9. Отметь выражения, которые дают boolean

id: 40435_ct_01_click_boolean_expressions

Внимательно посмотрите на фрагмент Java-кода и выделите все отмеченные фрагменты-выражения, результатом вычисления которых является логическое значение (boolean). Не выделяйте выражения, которые дают число или строку: по условию нужны только те, что вычисляются в true/false и могут использоваться в if.

Кликните по всем фрагментам, которые подходят под условие задания.
public class Main {
    public static void main(String[] args) {
        int x = 7;
        int y = 10;

        boolean c1 = {{x > y~|~t1}};
        boolean c2 = {{x + 3 == y~|~t2}};
        boolean c3 = {{(x < y) && (y < 20)~|~t3}};
        boolean c4 = {{!(x == 0)~|~t4}};

        int sum = {{x + y~|~t5}};
        String label = {{"x=" + x~|~t6}};

        if ({{c2 || c4~|~t7}}) {
            System.out.println("OK");
        }
    }
}
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру