2

次のコード スナップであなたの助けが必要です。

public class Ex1 {
    public static void main(String[] args) {
        Number number = new Float(1000000.211);
        System.out.println(number);
        System.out.println(number.byteValue());
        System.out.println(number.shortValue());
        System.out.println(number.intValue());
        System.out.println(number.longValue());
        System.out.println(number.floatValue());
        System.out.println(number.doubleValue());
    }
}

出力:

1000000.2

64

16960

1000000

1000000

1000000.2

1000000.1875

質問: Float のインスタンスを作成し、Number クラスの参照変数に格納し、Number クラスのメソッドを呼び出すこともできます。doubleValue()メソッドを呼び出すと、分数の後に出力値が変更されます。

Float クラスのdoubleValue()メソッドの実装も読み上げました。

public double doubleValue() {
    return (double)value;
}

型キャスト値を double に変換するだけで、出力値が異なる理由が異なります。

ご意見・ご感想をお聞かせください。

4

0 に答える 0