Java Float の isNaN メソッド

JavaBeginner
オンラインで実践に進む

はじめに

この実験では、渡された float 値が Not-a-Number(NaN) であるかどうかを確認するために使用される Java の isNaN(float v) メソッドについて学びます。

Java ファイルを作成する

~/project ディレクトリに FloatIsNaN.java という名前の Java ファイルを作成します。

cd ~/project
touch FloatIsNaN.java

main メソッドを定義する

main メソッドに次のコードを追加します。

public class FloatIsNaN {
    public static void main(String[] args) {

    }
}

float 型の変数を宣言および定義する

f1f2f3f4、および f5 という名前の浮動小数点数変数を宣言および定義します。

float f1 = 67.78f;
float f2 = 0f;
float f3 = -f1/0.0f;
float f4 = f2/0.0f;
float f5 = 0.0f/0.0f;

Float.isNaN() メソッドをテストする

Float.isNaN() メソッドを使用して、浮動小数点数値が NaN 値であるかどうかをテストします。

System.out.println("The value is : " +Float.isNaN(f1)); //有限値の場合は false を返す
System.out.println("The value is : " +Float.isNaN(f2)); //無限大値の場合は false を返す
System.out.println("The value is : " +Float.isNaN(f3)); //無限大値の場合は false を返す
System.out.println("The value is : " +Float.isNaN(f4)); //NaN 値の場合は true を返す
System.out.println("The value is : " +Float.isNaN(f5)); //NaN 値の場合は true を返す

プログラムをコンパイルして実行する

ファイルに変更を保存し、javac コマンドを使用して Java プログラムをコンパイルします。

javac FloatIsNaN.java

次に、java コマンドを使用してプログラムを実行します。

java FloatIsNaN

ユーザー入力を使って Float.isNaN() メソッドをテストする

ユーザー入力を使って Float.isNaN() メソッドをテストするには、手順 3 の後に次のコードを追加します。

try {
    System.out.println("Enter the value");
    Scanner sc = new Scanner(System.in);
    float i = sc.nextFloat();
    boolean b = Float.isNaN(i);
    if(b == true) {
        System.out.println("Value is NaN");
    } else {
        System.out.println("Value is non NaN");
    }
} catch(Exception e) {
    System.out.println("Invalid Input");
}

プログラムをコンパイルして実行する

ファイルに変更を保存し、javac コマンドを使って Java プログラムをコンパイルします。

javac FloatIsNaN.java

次に、java コマンドを使ってプログラムを実行します。

java FloatIsNaN

Float.isNaN() メソッドをリアルタイムでテストする

次の例を使って、ライブで Float.isNaN() メソッドをテストすることもできます。

import java.lang.Float;
import java.util.Scanner;

public class FloatIsNaN {
    public static void main(String[] args) {
        try {
            System.out.println("Enter the value");
            Scanner sc = new Scanner(System.in);
            float i = sc.nextFloat();
            boolean b = Float.isNaN(i);
            if(b == true) {
                System.out.println("Value is NaN");
            } else {
                System.out.println("Value is non NaN");
            }
        } catch(Exception e) {
            System.out.println("Invalid Input");
        }
    }
}

プログラムをコンパイルして実行する

ファイルに変更を保存し、javac コマンドを使って Java プログラムをコンパイルします。

javac FloatIsNaN.java

次に、java コマンドを使ってプログラムを実行します。

java FloatIsNaN

まとめ

この実験では、以下のことを学びました。

  • Java の isNaN(float v) メソッドは、与えられた float 値が NaN 値であるかどうかをチェックするために使用されます。
  • isNaN() メソッドは、NaN 値の場合はブール値 true を返し、非 NaN 値の場合は false を返します。
  • 宣言および定義した float 変数を使ったり、ユーザー入力を使ったりして、isNaN() メソッドをテストすることができます。
  • また、実験で提供された例を使って、ライブで isNaN() メソッドをテストすることもできます。

素晴らしい仕事です!