Как проверить, равно ли значение булевой переменной false в Java

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять, является ли булева переменная равной false в Java. Мы рассмотрим основные методы работы с булевыми значениями, которые являются важными для управления потоком выполнения программы на основе условий.

С помощью практических примеров вы научитесь использовать оператор равенства (==) для проверки на false, тестировать с использованием объектов Boolean и комбинировать проверки как для условия true, так и для условия false. К концу этого практического занятия вы будете хорошо понимать, как эффективно использовать булевы переменные в своих Java - программах.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/booleans("Booleans") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/wrapper_classes("Wrapper Classes") java/SystemandDataProcessingGroup -.-> java/object_methods("Object Methods") subgraph Lab Skills java/operators -.-> lab-559933{{"Как проверить, равно ли значение булевой переменной false в Java"}} java/booleans -.-> lab-559933{{"Как проверить, равно ли значение булевой переменной false в Java"}} java/if_else -.-> lab-559933{{"Как проверить, равно ли значение булевой переменной false в Java"}} java/wrapper_classes -.-> lab-559933{{"Как проверить, равно ли значение булевой переменной false в Java"}} java/object_methods -.-> lab-559933{{"Как проверить, равно ли значение булевой переменной false в Java"}} end

Использование оператора равенства для проверки на false

На этом этапе мы рассмотрим, как проверить, является ли булева переменная равной false с использованием оператора равенства (==) в Java. Понимание работы с булевыми значениями является фундаментальным в программировании, так как они используются для управления потоком выполнения программ на основе условий.

Булева переменная может принимать одно из двух значений: true или false. Эти значения часто являются результатом сравнения или логической операции.

Создадим простую Java - программу, которая демонстрирует проверку на false.

  1. Откройте файл HelloJava.java в редакторе WebIDE, если он еще не открыт.

  2. Замените существующий код следующим:

    public class HelloJava {
        public static void main(String[] args) {
            boolean isComplete = false;
    
            if (isComplete == false) {
                System.out.println("The task is not complete.");
            }
        }
    }

    Рассмотрим новые части кода:

    • boolean isComplete = false;: Эта строка объявляет булеву переменную с именем isComplete и инициализирует ее значением false.
    • if (isComplete == false): Это оператор if, который используется для выполнения блока кода только в том случае, если определенное условие истинно. Условие здесь - isComplete == false. Оператор == проверяет, равно ли значение переменной isComplete значению false.
    • System.out.println("The task is not complete.");: Эта строка будет выполнена только в том случае, если условие isComplete == false истинно.
  3. Сохраните файл (Ctrl+S или Cmd+S).

  4. Скомпилируйте программу с использованием команды javac в терминале:

    javac HelloJava.java

    Если нет ошибок, вы не увидите никакого вывода.

  5. Запустите скомпилированную программу с использованием команды java:

    java HelloJava

    Вы должны увидеть следующий вывод:

    The task is not complete.

    Этот вывод подтверждает, что условие isComplete == false действительно было истинным, и код внутри блока if был выполнен.

Использование оператора равенства (==) для проверки, является ли булева переменная равной false, является простым способом выражения этого условия. На следующем этапе мы рассмотрим другой способ проверки на значение false.

Тестирование с использованием объекта Boolean

На предыдущем этапе мы работали с примитивным булевым типом. В Java также есть соответствующий класс под названием Boolean, который является объектной оберткой для примитивного булевого типа. Хотя вы часто будете использовать примитивный тип, полезно знать о объекте Boolean, особенно при работе с коллекциями или методами, которые требуют объектов.

На этом этапе мы увидим, как проверить на значение false при использовании объекта Boolean.

  1. Откройте файл HelloJava.java в редакторе WebIDE.

  2. Замените текущий код следующим:

    public class HelloJava {
        public static void main(String[] args) {
            Boolean isProcessed = Boolean.FALSE;
    
            if (isProcessed.equals(false)) {
                System.out.println("The item has not been processed.");
            }
        }
    }

    Рассмотрим изменения:

    • Boolean isProcessed = Boolean.FALSE;: Эта строка объявляет объект Boolean с именем isProcessed и инициализирует его статической константой Boolean.FALSE, которая представляет булево значение false.
    • if (isProcessed.equals(false)): При работе с объектами в Java обычно рекомендуется использовать метод equals() для сравнения их значений, а не оператор ==. Метод equals() класса Boolean проверяет, равно ли булево значение объекта булевому значению, переданному в качестве аргумента.
  3. Сохраните файл (Ctrl+S или Cmd+S).

  4. Скомпилируйте программу с использованием команды javac в терминале:

    javac HelloJava.java

    Опять же, отсутствие вывода означает успешную компиляцию.

  5. Запустите программу с использованием команды java:

    java HelloJava

    Вы должны увидеть следующий вывод:

    The item has not been processed.

    Это показывает, что метод equals() правильно определил, что объект Boolean isProcessed содержит булево значение false.

В то время как использование == false с примитивными булевыми типами является распространенным и вполне допустимым, использование .equals(false) является стандартным способом сравнения объектов Boolean. Понимание различий между примитивными типами и их объектными обертками является важной концепцией в Java.

Комбинирование проверок на true и false

В реальном программировании вам часто придется проверять несколько условий одновременно. Это включает комбинирование проверок на значения true и false с использованием логических операторов, таких как && (логическое И) и || (логическое ИЛИ).

На этом этапе мы изменим нашу программу, чтобы включить проверки как на true, так и на false условия.

  1. Откройте файл HelloJava.java в редакторе WebIDE.

  2. Замените текущий код следующим:

    public class HelloJava {
        public static void main(String[] args) {
            boolean isTaskStarted = true;
            boolean isTaskFinished = false;
    
            if (isTaskStarted == true && isTaskFinished == false) {
                System.out.println("The task has started but is not finished.");
            }
    
            if (isTaskStarted == false || isTaskFinished == true) {
                 System.out.println("The task is either not started or is already finished.");
            }
        }
    }

    Разберем новый код:

    • boolean isTaskStarted = true;: Мы объявляем булеву переменную isTaskStarted и устанавливаем ее значение в true.
    • boolean isTaskFinished = false;: Мы объявляем еще одну булеву переменную isTaskFinished и устанавливаем ее значение в false.
    • if (isTaskStarted == true && isTaskFinished == false): Этот оператор if использует логический оператор И (&&). Код внутри этого блока будет выполнен только в том случае, если оба условия истинны: isTaskStarted равно true И isTaskFinished равно false.
    • if (isTaskStarted == false || isTaskFinished == true): Этот оператор if использует логический оператор ИЛИ (||). Код внутри этого блока будет выполнен, если хотя бы одно из условий истинно: isTaskStarted равно false ИЛИ isTaskFinished равно true.
  3. Сохраните файл (Ctrl+S или Cmd+S).

  4. Скомпилируйте программу с использованием команды javac в терминале:

    javac HelloJava.java
  5. Запустите программу с использованием команды java:

    java HelloJava

    Исходя из начальных значений isTaskStarted и isTaskFinished, вы должны увидеть следующий вывод:

    The task has started but is not finished.

    Первое условие if (true && false) оценивается как true, поэтому выполняется первая инструкция println. Второе условие if (true || false) оценивается как false, поэтому вторая инструкция println не выполняется.

    Подождите, вывод только "The task has started but is not finished."? Давайте переоценим условия:

    • isTaskStarted == true && isTaskFinished == false: true == true равно true, false == false равно true. true && true равно true. Поэтому выводится первое сообщение.
    • isTaskStarted == false || isTaskFinished == true: true == false равно false, false == true равно false. false || false равно false. Поэтому второе сообщение не выводится.

    Приношу извинения, ожидаемый вывод действительно только первая строка. Это демонстрирует, как логические операторы работают для комбинирования условий.

    Вы можете поэкспериментировать, изменив начальные значения isTaskStarted и isTaskFinished и перезапустив программу, чтобы увидеть, как меняется вывод.

Комбинирование булевых проверок с использованием логических операторов - это мощный способ управлять потоком выполнения ваших программ и принимать решения на основе нескольких факторов.

Резюме

В этом практическом занятии (лабораторной работе) мы научились проверять, равно ли значение булевой переменной false в Java. Мы начали с использования оператора равенства (==) для прямого сравнения булевой переменной с литералом false. Это показало фундаментальный способ проверки условия ложности и управления потоком выполнения программы с использованием оператора if. Затем мы проверили этот концепт на простой Java-программе, скомпилировав и запустив ее, чтобы наблюдать ожидаемый вывод, когда булевая переменная действительно была равна false.