目次> 第7章> 7.3 | TOPUPPREVNEXT |
基本データ型 double および float に対して ラッパークラス Double と Float が用意されています。 文字列から数値に変換する parseDouble や parseFloat、 文字列に変換する toString と いったメソッドの他に、以下のような定数が含まれます。
定数 | 意味 |
---|---|
MAX_VALUE | 正の最大値 |
MIN_VALUE | 正の最小値 |
NaN | 非数。∞+(-∞)、0×∞、0/0、∞/∞、負の平方根 などの計算で発生 |
NEGATIVE_INFINITY | 負の無限大。負の数をゼロで割った場合など |
POSITIVE_INFINITY | 正の無限大。 |
Javaでは、整数( int )の計算時にゼロで割ると、
例外 ArithmeticException が発生します。
一方、浮動小数点( double や float )の計算時にゼロで割ると、例外は発生せず
値が、正の無限大 ( Double.POSITIVE_INFINITY や Float.POSITIVE_INFINITY ) か
負の無限大 ( 同じく NEGATIVE_INFINITY ) になります。
無限大に数値を加減しても、無限大のままです。
NaN ( Not a Number ) に対して数値を加減乗除しても、NaN のままです。
無限大そのものは、 NaN ではありません。
7.1節のプログラム Compute3.java で、ゼロによる除算をしないように 判定している部分を変更し、常に割り算の結果を表示するようにしてみましょう。
正の数や、負の数をゼロで割った結果と、POSITIVE_INFINITY や NEGATIVE_INFINITY との大小関係を確認するプログラムを作成しました。プログラムと結果を比較してください。
浮動小数点ゼロ除算のプログラム例 CompFloat3.java
実行結果
更新日:2012/04/02 | TOPUPPREVNEXT |