次のコード スナップであなたの助けが必要です。
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 に変換するだけで、出力値が異なる理由が異なります。
ご意見・ご感想をお聞かせください。