Java でブール変数が false かどうかをチェックする方法

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Java でブール変数が false であるかどうかをチェックする方法を学びます。条件に基づいてプログラムの流れを制御するために不可欠な、ブール値を扱う基本的な技術を探ります。

実践的な例を通じて、等価演算子 (==) を使って false をチェックする方法、Boolean オブジェクトでテストする方法、および truefalse の両方の条件を組み合わせてチェックする方法を練習します。この実験の終わりまでに、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{{"Java でブール変数が false かどうかをチェックする方法"}} java/booleans -.-> lab-559933{{"Java でブール変数が false かどうかをチェックする方法"}} java/if_else -.-> lab-559933{{"Java でブール変数が false かどうかをチェックする方法"}} java/wrapper_classes -.-> lab-559933{{"Java でブール変数が false かどうかをチェックする方法"}} java/object_methods -.-> lab-559933{{"Java でブール変数が false かどうかをチェックする方法"}} end

等価演算子を使って false をチェックする

このステップでは、Java の等価演算子 (==) を使ってブール変数が false であるかどうかをチェックする方法を探ります。ブール値を扱う方法を理解することは、条件に基づいてプログラムの流れを制御するため、プログラミングにおいて基本的なことです。

ブール変数は、true または false の 2 つの値のいずれかを保持することができます。これらの値は、多くの場合、比較や論理演算の結果です。

false をチェックする方法を示すために、簡単な Java プログラムを作成しましょう。

  1. WebIDE エディタで HelloJava.java ファイルが開いていない場合は、開きます。

  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 オブジェクトについて知っておくと便利です。

このステップでは、Boolean オブジェクトを使用する場合に false 値をチェックする方法を見ていきます。

  1. WebIDE エディタで HelloJava.java ファイルを開きます。

  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;: この行は、isProcessed という名前の Boolean オブジェクトを宣言し、ブール値 false を表す静的定数 Boolean.FALSE で初期化します。
    • if (isProcessed.equals(false)): Java でオブジェクトを扱う場合、一般的には == 演算子ではなく equals() メソッドを使用して値を比較することが推奨されます。Boolean クラスの equals() メソッドは、オブジェクトのブール値が引数として渡されたブール値と等しいかどうかをチェックします。
  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 を使用することは一般的で問題ありませんが、Boolean オブジェクトを比較する標準的な方法は .equals(false) を使用することです。プリミティブ型とそのオブジェクトラッパーの違いを理解することは、Java における重要な概念です。

真と偽のチェックを組み合わせる

実際のプログラミングでは、複数の条件を同時にチェックする必要があることがよくあります。これには、&& (論理積) や || (論理和) などの論理演算子を使用して、truefalse の両方の値に対するチェックを組み合わせることが含まれます。

このステップでは、truefalse の両方の条件をチェックするようにプログラムを修正します。

  1. WebIDE エディタで HelloJava.java ファイルを開きます。

  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 文は論理積演算子 (&&) を使用しています。このブロック内のコードは、両方の条件が真の場合にのみ実行されます。つまり、isTaskStartedtrue であり、かつ isTaskFinishedfalse である場合です。
    • if (isTaskStarted == false || isTaskFinished == true): この if 文は論理和演算子 (||) を使用しています。このブロック内のコードは、少なくとも 1 つの条件が真の場合に実行されます。つまり、isTaskStartedfalse または isTaskFinishedtrue である場合です。
  3. ファイルを保存します (Ctrl+S または Cmd+S)。

  4. ターミナルで javac を使用してプログラムをコンパイルします。

    javac HelloJava.java
  5. java を使用してプログラムを実行します。

    java HelloJava

    isTaskStartedisTaskFinished の初期値に基づいて、次の出力が表示されるはずです。

    The task has started but is not finished.

    最初の if 条件 (true && false) は true と評価されるので、最初の println が実行されます。2 番目の if 条件 (true || false) は false と評価されるので、2 番目の println は実行されません。

    待ってください、出力は "The task has started but is not finished." だけですか?条件を再評価してみましょう。

    • isTaskStarted == true && isTaskFinished == false: true == truetruefalse == falsetrue です。true && truetrue です。そのため、最初のメッセージが表示されます。
    • isTaskStarted == false || isTaskFinished == true: true == falsefalsefalse == truefalse です。false || falsefalse です。そのため、2 番目のメッセージは表示されません。

    申し訳ありません、期待される出力は実際には最初の行だけです。これは、論理演算子が条件を組み合わせる仕組みを示しています。

    isTaskStartedisTaskFinished の初期値を変更してプログラムを再実行し、出力がどのように変化するかを実験することができます。

論理演算子を使用してブールチェックを組み合わせることは、プログラムの流れを制御し、複数の要素に基づいて判断を下す強力な方法です。

まとめ

この実験では、Java でブール変数が false かどうかをチェックする方法を学びました。まず、等価演算子 (==) を使用して、ブール変数を false リテラルと直接比較する方法から始めました。これにより、if 文を使用して偽の条件をチェックし、プログラムの流れを制御する基本的な方法を実証しました。その後、簡単な Java プログラムでこの概念をテストし、ブール変数が実際に false の場合に期待される出力を観察するために、プログラムをコンパイルして実行しました。