Java で数値が特定の範囲内にあるかどうかをチェックする方法

JavaJavaBeginner
今すぐ練習

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

はじめに

この実験では、Java で数値が特定の範囲内にあるかどうかをチェックする方法を学びます。下限と上限を使用して数値範囲を定義する基本概念、範囲チェックを実行するための論理演算子の利用、および範囲比較で境界値を含める方法を理解することをカバーします。実践的な演習を通じて、これらの技術を Java コードに実装する実際の経験を積むことができます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/booleans("Booleans") java/BasicSyntaxGroup -.-> java/if_else("If...Else") subgraph Lab Skills java/data_types -.-> lab-559970{{"Java で数値が特定の範囲内にあるかどうかをチェックする方法"}} java/operators -.-> lab-559970{{"Java で数値が特定の範囲内にあるかどうかをチェックする方法"}} java/booleans -.-> lab-559970{{"Java で数値が特定の範囲内にあるかどうかをチェックする方法"}} java/if_else -.-> lab-559970{{"Java で数値が特定の範囲内にあるかどうかをチェックする方法"}} end

下限と上限で範囲を定義する

このステップでは、Java で下限と上限を使用して数値範囲を定義する方法を学びます。範囲を扱う方法を理解することは、プログラミングにおける基本的な概念であり、値が特定の数値セット内にあるかどうかをチェックすることができます。

範囲とは、単に開始点(下限)と終了点(上限)の間の数値のセットです。たとえば、1 から 10 の範囲には、1 から 10 までのすべての数値が含まれます。

範囲を定義して操作する簡単な Java プログラムを作成しましょう。

  1. WebIDE エディタで HelloJava.java ファイルが開いていない場合は、開きます。このファイルを新しいプログラム用に変更します。

  2. ファイルの内容全体を次のコードに置き換えます。

    public class HelloJava {
        public static void main(String[] args) {
            // Define the lower and upper bounds of the range
            int lowerBound = 10;
            int upperBound = 50;
    
            // Print the defined range
            System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]");
        }
    }

    このコードの新しい部分を見てみましょう。

    • int lowerBound = 10;:この行は、lowerBound という名前の整数変数を宣言し、値 10 を割り当てます。これが範囲の開始点です。
    • int upperBound = 50;:この行は、upperBound という名前の整数変数を宣言し、値 50 を割り当てます。これが範囲の終了点です。
    • System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]");:この行は、lowerBoundupperBound の値を使用して定義された範囲を示すメッセージをコンソールに出力します。+ 記号は、テキスト文字列と変数値を結合するために使用されます。
  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. 次に、変更したプログラムをコンパイルしましょう。WebIDE の下部にあるターミナルを開き、~/project ディレクトリにいることを確認します。次に、次のコマンドを実行します。

    javac HelloJava.java

    エラーがなければ、コンパイルは成功しました。

  5. 最後に、プログラムを実行して出力を確認しましょう。ターミナルで次のコマンドを実行します。

    java HelloJava

    次の出力が表示されるはずです。

    Defined Range: [10, 50]

    これにより、プログラムが範囲の下限と上限を正しく定義して出力したことが確認できます。

次のステップでは、論理演算子を使用して数値がこの定義された範囲内にあるかどうかをチェックする方法を学びます。

論理演算子を使用した範囲チェック

このステップでは、Java の論理演算子を使用して、前のステップで定義した範囲内に数値があるかどうかをチェックする方法を学びます。論理演算子は、ブール式(真または偽の式)を結合または変更するために使用されます。

下限と上限で定義された範囲内に数値があるかどうかをチェックするには、2 つの条件をチェックする必要があります。

  1. 数値は下限以上ですか?
  2. 数値は上限以下ですか?

これらの両方の条件が真である場合にのみ、数値は範囲内にあると判断されます。Java では、論理 AND 演算子 (&&) を使用してこれら 2 つの条件を結合します。

HelloJava.java プログラムを変更して、この範囲チェックを含めましょう。

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

  2. main メソッドを変更して、チェックする数値の変数と範囲チェックのロジックを含めます。既存の main メソッドの内容を次のコードに置き換えます。

        public static void main(String[] args) {
            // Define the lower and upper bounds of the range
            int lowerBound = 10;
            int upperBound = 50;
    
            // Define the number to check
            int numberToCheck = 35;
    
            // Check if the number is within the range using logical operators
            boolean isInRange = (numberToCheck >= lowerBound) && (numberToCheck <= upperBound);
    
            // Print the result
            System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]");
            System.out.println("Number to Check: " + numberToCheck);
            System.out.println("Is " + numberToCheck + " within the range? " + isInRange);
        }

    追加した部分は次の通りです。

    • int numberToCheck = 35;:この行は、整数変数 numberToCheck を宣言し、値 35 を割り当てます。これが範囲に対してチェックする数値です。
    • boolean isInRange = (numberToCheck >= lowerBound) && (numberToCheck <= upperBound);:これが範囲チェックの核心部分です。
      • numberToCheck >= lowerBound:これは、numberToChecklowerBound 以上であるかどうかをチェックします。
      • numberToCheck <= upperBound:これは、numberToCheckupperBound 以下であるかどうかをチェックします。
      • &&:これは論理 AND 演算子です。左側の条件と右側の条件の両方が true の場合にのみ true を返します。
      • この式全体の結果(true または false)は、isInRange という名前のブール変数に格納されます。
    • System.out.println の行は、現在チェックしている数値と範囲チェックの結果も出力します。
  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. ターミナルで変更したプログラムをコンパイルします。

    javac HelloJava.java
  5. コンパイルしたプログラムを実行します。

    java HelloJava

    次のような出力が表示されるはずです。

    Defined Range: [10, 50]
    Number to Check: 35
    Is 35 within the range? true

    35 は確かに 10 から 50 の範囲内(両端を含む)にあるため、プログラムは正しく true を出力します。

numberToCheck の値を範囲外の値(たとえば、5 または 60)に変更し、プログラムを再コンパイルして再実行して、出力がどのように変化するかを確認してみてください。

範囲に境界値を含める

前のステップでは、>=(以上)と <=(以下)の演算子を使用して、数値が範囲内にあるかどうかをチェックしました。これらの演算子は、範囲チェックに境界値(下限と上限)を含めるために重要です。

たとえば、範囲が [10, 50] の場合、数値が 10、50、または 10 から 50 の間の任意の数値であれば、その数値は範囲内とみなされます。もし >(より大きい)と <(より小さい)を代わりに使用した場合、範囲は (10, 50) となり、これは 10 と 50 自体が範囲に含まれないことを意味します。

この動作を境界値を使ってプログラムをテストすることで確認しましょう。

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

  2. 下限と上限で範囲チェックをテストします。main メソッドを変更して、numberToCheck として lowerBoundupperBound の両方をテストするようにします。

    public class HelloJava {
        public static void main(String[] args) {
            // Define the lower and upper bounds of the range
            int lowerBound = 10;
            int upperBound = 50;
    
            // Test with the lower bound
            int numberToCheck1 = lowerBound;
            boolean isInRange1 = (numberToCheck1 >= lowerBound) && (numberToCheck1 <= upperBound);
            System.out.println("Defined Range: [" + lowerBound + ", " + upperBound + "]");
            System.out.println("Number to Check: " + numberToCheck1);
            System.out.println("Is " + numberToCheck1 + " within the range? " + isInRange1);
            System.out.println("---"); // Separator for clarity
    
            // Test with the upper bound
            int numberToCheck2 = upperBound;
            boolean isInRange2 = (numberToCheck2 >= lowerBound) && (numberToCheck2 <= upperBound);
            System.out.println("Number to Check: " + numberToCheck2);
            System.out.println("Is " + numberToCheck2 + " within the range? " + isInRange2);
        }
    }

    numberToCheck2upperBound に設定した 2 つ目のテストケースを追加しました。

  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. ターミナルで変更したプログラムをコンパイルします。

    javac HelloJava.java
  5. コンパイルしたプログラムを実行します。

    java HelloJava

    次のような出力が表示されるはずです。

    Defined Range: [10, 50]
    Number to Check: 10
    Is 10 within the range? true
    ---
    Number to Check: 50
    Is 50 within the range? true

    ご覧のとおり、10(下限)と 50(上限)の両方が範囲内と正しく識別されています。これは、>=<= 演算子を使用したためです。これにより、範囲チェックに境界値が含まれていることが確認できます。

プログラムで条件を定義する際に、範囲が境界を含む(閉区間)か含まない(開区間)かを理解することは重要です。>=<= 演算子は閉区間の範囲を作成します。

まとめ

この実験では、整数型の変数を使用して下限と上限を設定することで、Java で数値範囲を定義する方法を学びました。単純な Java プログラムを変更してこれらの境界を宣言し、定義された範囲をコンソールに出力しました。また、出力のためにテキストと変数の値を組み合わせる方法を理解しました。この基本的なステップは、後に数値が指定された範囲内にあるかどうかをチェックするために重要です。