Java で数値が正数かどうかをチェックする方法

JavaJavaBeginner
今すぐ練習

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

はじめに

この実験では、Java で数値が正の数であるかどうかをチェックする方法を学びます。まず、基本的な条件文を使用して数値とゼロを比較する簡単なプログラムを作成します。

次に、この知識を拡張して、整数型と倍精度浮動小数点数型 (double) の両方のデータ型でテストを行い、異なる数値表現の扱い方を理解します。最後に、エッジケースの扱い方を探ります。具体的には、数値がゼロの場合を正しく識別して管理する方法に焦点を当てます。


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/variables("Variables") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/BasicSyntaxGroup -.-> java/output("Output") subgraph Lab Skills java/data_types -.-> lab-559968{{"Java で数値が正数かどうかをチェックする方法"}} java/operators -.-> lab-559968{{"Java で数値が正数かどうかをチェックする方法"}} java/variables -.-> lab-559968{{"Java で数値が正数かどうかをチェックする方法"}} java/if_else -.-> lab-559968{{"Java で数値が正数かどうかをチェックする方法"}} java/output -.-> lab-559968{{"Java で数値が正数かどうかをチェックする方法"}} end

数値をゼロと比較する

このステップでは、数値をゼロと比較する簡単な Java プログラムを作成します。これにより、Java の基本的な条件文、特に if 文について学びます。条件文を使用すると、プログラムは特定の条件に基づいて判断を行うことができます。

  1. まず、正しいディレクトリにいることを確認してください。WebIDE の下部にあるターミナルを開き、次のコマンドを入力してから Enter キーを押します。

    cd ~/project

    これにより、Java ファイルを作成する ~/project ディレクトリに移動します。

  2. 次に、CompareNumber.java という名前の新しい Java ファイルを作成しましょう。左側のファイルエクスプローラーで右クリックし、「新しいファイル」を選択して CompareNumber.java と入力することができます。または、ターミナルを使用することもできます。

    touch CompareNumber.java
  3. ファイルエクスプローラーで CompareNumber.java ファイルをクリックして、コードエディターで開きます。

  4. 次の Java コードをエディターにコピーして貼り付けます。

    public class CompareNumber {
        public static void main(String[] args) {
            int number = 10; // We will compare this number with zero
    
            if (number > 0) {
                System.out.println("The number is positive.");
            }
        }
    }

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

    • int number = 10;:この行は、int (整数) 型の number という名前の変数を宣言し、それに値 10 を割り当てます。変数は、プログラム内でデータを格納するために使用されます。
    • if (number > 0):これは if 文です。括弧内の条件 (number > 0) が真であるかどうかをチェックします。条件が真の場合、続く中括弧 {} 内のコードが実行されます。
    • System.out.println("The number is positive.");:この行は、number が 0 より大きい場合にのみ実行されます。
  5. ファイルを保存します (Ctrl+S または Cmd+S)。

  6. 次に、ターミナルで javac コマンドを使用して Java プログラムをコンパイルします。

    javac CompareNumber.java

    エラーがなければ、~/project ディレクトリに CompareNumber.class ファイルが作成されます。

  7. 最後に、java コマンドを使用してコンパイルされたプログラムを実行します。

    java CompareNumber

    number 変数は 10 (0 より大きい) に設定されているため、次の出力が表示されるはずです。

    The number is positive.

if 文を使用して数値をゼロと比較する Java プログラムを正常に作成して実行しました。次のステップでは、このプログラムを拡張して、さまざまなケースを処理できるようにします。

整数型と倍精度浮動小数点数型 (double) でテストする

前のステップでは、整数をゼロと比較しました。Java は、整数 (整数値) や浮動小数点数 (小数点付きの数値) など、さまざまな種類の数値をサポートしています。このステップでは、プログラムを修正して整数型と倍精度浮動小数点数型 (double) の両方でテストを行い、数値が正でない場合を処理するために else 文を導入します。

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

  2. コードを修正して else ブロックを追加します。既存のコードを次のコードに置き換えます。

    public class CompareNumber {
        public static void main(String[] args) {
            int number = -5; // Let's test with a negative integer
    
            if (number > 0) {
                System.out.println("The number is positive.");
            } else {
                System.out.println("The number is not positive.");
            }
        }
    }

    新しい部分は次の通りです。

    • int number = -5;number の値を -5 に変更して、else 条件をテストします。
    • else { ... }else ブロックは、直前の if 文の条件が偽の場合に実行されます。この場合、number > 0 が偽の場合、else ブロック内のコードが実行されます。
  3. ファイルを保存します (Ctrl+S または Cmd+S)。

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

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

    java CompareNumber

    number が -5 であるため、if 条件 (-5 > 0) は偽となり、else ブロックが実行されます。次の出力が表示されるはずです。

    The number is not positive.
  6. 次に、倍精度浮動小数点数型 (double) でテストしましょう。再度コードを修正します。

    public class CompareNumber {
        public static void main(String[] args) {
            double decimalNumber = 3.14; // Test with a positive double
    
            if (decimalNumber > 0) {
                System.out.println("The number is positive.");
            } else {
                System.out.println("The number is not positive.");
            }
        }
    }

    変数の型を double に変更し、小数値を割り当てました。

  7. ファイルを保存します。

  8. プログラムをコンパイルします。

    javac CompareNumber.java
  9. プログラムを実行します。

    java CompareNumber

    decimalNumber が 3.14 (0 より大きい) であるため、if 条件は真となり、次の出力が表示されるはずです。

    The number is positive.

これで、else 文の使い方と、整数型と倍精度浮動小数点数型 (double) の両方での比較の仕組みを見てきました。次のステップでは、数値が正確にゼロである特定のケースを処理します。

ゼロなどのエッジケースを処理する

前のステップでは、正数と非正数を処理しました。しかし、数値が正確にゼロであるケースについては、具体的に対処していません。プログラミングでは、これらの「エッジケース」を処理することが、すべての状況でプログラムが正しく動作することを保証するために重要です。このステップでは、else if 文を使用して、ゼロに対する特定のチェックを追加します。

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

  2. コードを修正して、ゼロをチェックする else if ブロックを追加します。既存のコードを次のコードに置き換えます。

    public class CompareNumber {
        public static void main(String[] args) {
            int number = 0; // Let's test with zero
    
            if (number > 0) {
                System.out.println("The number is positive.");
            } else if (number == 0) {
                System.out.println("The number is zero.");
            } else {
                System.out.println("The number is negative.");
            }
        }
    }

    変更点を見てみましょう。

    • int number = 0;:新しい条件をテストするために、number を 0 に設定します。
    • else if (number == 0):これは else if 文です。直前の if 条件 (number > 0) が偽の場合にのみチェックされます。条件 number == 0 は、number の値が正確に 0 であるかどうかをチェックします。比較には二重等号 (==) を使用することに注意してください。単一の等号 (=) は代入に使用されます。
    • System.out.println("The number is zero.");:この行は、number が正確に 0 の場合に実行されます。
    • 最後の else ブロックは、数値が正数でもゼロでもない場合、つまり負数である場合を具体的に処理します。
  3. ファイルを保存します (Ctrl+S または Cmd+S)。

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

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

    java CompareNumber

    number が 0 であるため、最初の if 条件 (0 > 0) は偽です。else if 条件 (0 == 0) は真であるため、そのブロックが実行されます。次の出力が表示されるはずです。

    The number is zero.
  6. 次に、再度負数でテストしましょう。number の値を -10 に変更します。

    public class CompareNumber {
        public static void main(String[] args) {
            int number = -10; // Test with a negative number
    
            if (number > 0) {
                System.out.println("The number is positive.");
            } else if (number == 0) {
                System.out.println("The number is zero.");
            } else {
                System.out.println("The number is negative.");
            }
        }
    }
  7. ファイルを保存します。

  8. プログラムをコンパイルします。

    javac CompareNumber.java
  9. プログラムを実行します。

    java CompareNumber

    number が -10 であるため、if 条件 (-10 > 0) は偽であり、else if 条件 (-10 == 0) も偽です。したがって、最後の else ブロックが実行され、次の出力が表示されるはずです。

    The number is negative.

これで、ifelse if、および else 文を使用して、数値をゼロと比較し、それが正数、負数、またはゼロであるかを判断することに成功しました。これは、Java プログラムで判断を行うための基本的なパターンです。

まとめ

この実験では、まず正しいディレクトリに移動し、新しい Java ファイルを作成することで開発環境のセットアップ方法を学びました。次に、if 文を使用して Java の条件文の基本概念を紹介しました。簡単なプログラムを書くことで、整数型変数を宣言し、値を割り当て、if 条件内で > 演算子を使用して数値がゼロより大きいかどうかをチェックする方法を学びました。if 文内のコードブロックは条件が真の場合にのみ実行され、数値が正数であることを示すメッセージを出力する方法を実証しました。