Что такое булевый (логический) тип данных в программировании?

«Что такое булевый (логический) тип данных в программировании?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Булевый (логический) тип данных (boolean) — это примитивный тип, который может принимать только два возможных значения, обозначающих истинность или ложность: true (истина) и false (ложь). Он является фундаментальным для управления потоком выполнения программы.

Основное назначение:

  • Условия в операторах if, else, switch.
  • Условия продолжения/остановки циклов (while, for).
  • Результаты логических операций (&&, ||, !).
  • Флаги состояния.

Пример на Java:

boolean isUserActive = true;
boolean hasAdminPermission = false;
int userAge = 20;

// Логические выражения возвращают boolean
boolean isAdult = userAge >= 18; // true

// Использование в условии
if (isUserActive && isAdult) {
    System.out.println("Доступ разрешён.");
} else if (!hasAdminPermission) {
    System.out.println("Недостаточно прав.");
}

// Булевы значения в циклах
while (isUserActive) {
    // ... выполнять действия, пока пользователь активен
    isUserActive = false; // условие выхода из цикла
}
Важные особенности в разных языках: Язык Особенности
C Нет встроенного типа bool (в стандарте C99 есть _Bool). Часто используют int, где 0 — false, любое ненулевое — true.
Python Тип bool является подклассом int. True и False эквивалентны 1 и 0.
JavaScript Приведение к boolean (truthy/falsy). false, 0, "", null, undefined, NaN приводятся к false.
Java, C# Строгий тип boolean. Не конвертируется неявно в int или другие типы.

Best practice: Используйте булевы переменные с понятными именами (например, isValid, hasError, shouldRetry), которые читаются как утверждение.