はじめに
この実験では、Java で数値が正の数であるかどうかをチェックする方法を学びます。まず、基本的な条件文を使用して数値とゼロを比較する簡単なプログラムを作成します。
次に、この知識を拡張して、整数型と倍精度浮動小数点数型 (double) の両方のデータ型でテストを行い、異なる数値表現の扱い方を理解します。最後に、エッジケースの扱い方を探ります。具体的には、数値がゼロの場合を正しく識別して管理する方法に焦点を当てます。
この実験では、Java で数値が正の数であるかどうかをチェックする方法を学びます。まず、基本的な条件文を使用して数値とゼロを比較する簡単なプログラムを作成します。
次に、この知識を拡張して、整数型と倍精度浮動小数点数型 (double) の両方のデータ型でテストを行い、異なる数値表現の扱い方を理解します。最後に、エッジケースの扱い方を探ります。具体的には、数値がゼロの場合を正しく識別して管理する方法に焦点を当てます。
このステップでは、数値をゼロと比較する簡単な Java プログラムを作成します。これにより、Java の基本的な条件文、特に if
文について学びます。条件文を使用すると、プログラムは特定の条件に基づいて判断を行うことができます。
まず、正しいディレクトリにいることを確認してください。WebIDE の下部にあるターミナルを開き、次のコマンドを入力してから Enter キーを押します。
cd ~/project
これにより、Java ファイルを作成する ~/project
ディレクトリに移動します。
次に、CompareNumber.java
という名前の新しい Java ファイルを作成しましょう。左側のファイルエクスプローラーで右クリックし、「新しいファイル」を選択して CompareNumber.java
と入力することができます。または、ターミナルを使用することもできます。
touch CompareNumber.java
ファイルエクスプローラーで CompareNumber.java
ファイルをクリックして、コードエディターで開きます。
次の 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 より大きい場合にのみ実行されます。ファイルを保存します (Ctrl+S または Cmd+S)。
次に、ターミナルで javac
コマンドを使用して Java プログラムをコンパイルします。
javac CompareNumber.java
エラーがなければ、~/project
ディレクトリに CompareNumber.class
ファイルが作成されます。
最後に、java
コマンドを使用してコンパイルされたプログラムを実行します。
java CompareNumber
number
変数は 10 (0 より大きい) に設定されているため、次の出力が表示されるはずです。
The number is positive.
if
文を使用して数値をゼロと比較する Java プログラムを正常に作成して実行しました。次のステップでは、このプログラムを拡張して、さまざまなケースを処理できるようにします。
前のステップでは、整数をゼロと比較しました。Java は、整数 (整数値) や浮動小数点数 (小数点付きの数値) など、さまざまな種類の数値をサポートしています。このステップでは、プログラムを修正して整数型と倍精度浮動小数点数型 (double) の両方でテストを行い、数値が正でない場合を処理するために else
文を導入します。
CompareNumber.java
ファイルがまだ開いていない場合は、WebIDE のエディターで開きます。
コードを修正して 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
ブロック内のコードが実行されます。ファイルを保存します (Ctrl+S または Cmd+S)。
ターミナルで修正したプログラムをコンパイルします。
javac CompareNumber.java
コンパイルしたプログラムを実行します。
java CompareNumber
number
が -5 であるため、if
条件 (-5 > 0
) は偽となり、else
ブロックが実行されます。次の出力が表示されるはずです。
The number is not positive.
次に、倍精度浮動小数点数型 (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
に変更し、小数値を割り当てました。
ファイルを保存します。
プログラムをコンパイルします。
javac CompareNumber.java
プログラムを実行します。
java CompareNumber
decimalNumber
が 3.14 (0 より大きい) であるため、if
条件は真となり、次の出力が表示されるはずです。
The number is positive.
これで、else
文の使い方と、整数型と倍精度浮動小数点数型 (double) の両方での比較の仕組みを見てきました。次のステップでは、数値が正確にゼロである特定のケースを処理します。
前のステップでは、正数と非正数を処理しました。しかし、数値が正確にゼロであるケースについては、具体的に対処していません。プログラミングでは、これらの「エッジケース」を処理することが、すべての状況でプログラムが正しく動作することを保証するために重要です。このステップでは、else if
文を使用して、ゼロに対する特定のチェックを追加します。
WebIDE のエディターで CompareNumber.java
ファイルを開きます。
コードを修正して、ゼロをチェックする 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
ブロックは、数値が正数でもゼロでもない場合、つまり負数である場合を具体的に処理します。ファイルを保存します (Ctrl+S または Cmd+S)。
ターミナルで修正したプログラムをコンパイルします。
javac CompareNumber.java
コンパイルしたプログラムを実行します。
java CompareNumber
number
が 0 であるため、最初の if
条件 (0 > 0
) は偽です。else if
条件 (0 == 0
) は真であるため、そのブロックが実行されます。次の出力が表示されるはずです。
The number is zero.
次に、再度負数でテストしましょう。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.");
}
}
}
ファイルを保存します。
プログラムをコンパイルします。
javac CompareNumber.java
プログラムを実行します。
java CompareNumber
number
が -10 であるため、if
条件 (-10 > 0
) は偽であり、else if
条件 (-10 == 0
) も偽です。したがって、最後の else
ブロックが実行され、次の出力が表示されるはずです。
The number is negative.
これで、if
、else if
、および else
文を使用して、数値をゼロと比較し、それが正数、負数、またはゼロであるかを判断することに成功しました。これは、Java プログラムで判断を行うための基本的なパターンです。
この実験では、まず正しいディレクトリに移動し、新しい Java ファイルを作成することで開発環境のセットアップ方法を学びました。次に、if
文を使用して Java の条件文の基本概念を紹介しました。簡単なプログラムを書くことで、整数型変数を宣言し、値を割り当て、if
条件内で >
演算子を使用して数値がゼロより大きいかどうかをチェックする方法を学びました。if
文内のコードブロックは条件が真の場合にのみ実行され、数値が正数であることを示すメッセージを出力する方法を実証しました。