6.2つのオペランドがある算術式を評価するときに、
コンパイラは次の規則に従ってデータ型を拡張変換
(widening)する。
a.一方のオペランドがdouble型であれば、
もう一方がdouble型に変換される
b.上記aでない場合、
一方のオペランドがfloat型であれば、
もう一方がfloat型に変換される
c.上記aでもbでもない場合、
一方のオペランドがlong型であれば、
もう一方がlong型に変換される
d.上記a、b、cのいずれでもない場合、
両方のオペランドがint型に変換される
7.整数をゼロで割ると、
実行時にArithmeticException例外が生成される。
8.浮動小数点をゼロで割ると、
例外が生成されない代わりに、
ラッパークラスFloatとDoubleで定義された特別なNaNという定数値になる。
9.NaNは、Not a Number(非数)を意味する。
浮動小数点数演算の結果がNaNであることを確認する唯一の方法は、
Float.isNaN()またはDouble.isNaN()というstaticメソッドを使うことである。
10.FloatクラスとDoubleクラスには、
NaNのほかにも特別な浮動少数点数として、
MAX_VALUE、MIN_VALUE、POSITIVE_INFINITY、NEGATIVE_INFINITYという
定数が定義されている。
コンパイラは次の規則に従ってデータ型を拡張変換
(widening)する。
a.一方のオペランドがdouble型であれば、
もう一方がdouble型に変換される
b.上記aでない場合、
一方のオペランドがfloat型であれば、
もう一方がfloat型に変換される
c.上記aでもbでもない場合、
一方のオペランドがlong型であれば、
もう一方がlong型に変換される
d.上記a、b、cのいずれでもない場合、
両方のオペランドがint型に変換される
7.整数をゼロで割ると、
実行時にArithmeticException例外が生成される。
8.浮動小数点をゼロで割ると、
例外が生成されない代わりに、
ラッパークラスFloatとDoubleで定義された特別なNaNという定数値になる。
9.NaNは、Not a Number(非数)を意味する。
浮動小数点数演算の結果がNaNであることを確認する唯一の方法は、
Float.isNaN()またはDouble.isNaN()というstaticメソッドを使うことである。
10.FloatクラスとDoubleクラスには、
NaNのほかにも特別な浮動少数点数として、
MAX_VALUE、MIN_VALUE、POSITIVE_INFINITY、NEGATIVE_INFINITYという
定数が定義されている。