前回の記事では整数について扱ったが、今回は浮動小数点数について。
Javaは実数を表す型として、floatとdoubleを提供している。
実数とは、プラスマイナス・0・整数・分数・小数、有理数やルートや円周率などの無理数全てのこと。
整数はlongとかint型で表現していたけれど、小数点を含む数を扱いたい場合はdoubleを使うことになる。
たとえば以下のように、intやlongに小数を含んだ浮動小数点リテラルを代入しようとすると、コンパイルエラーになる。
int hoge = 100.57; //コンパイルエラー long fuga = 30.746; //コンパイルエラー
浮動小数点は英語で「floating point」といい、実数のJavaの呼び方みたいなもの。
浮動小数点型はfloatとdoubleがあり、floatは32ビット長、doubleは64ビット長のデータを扱う。
floatとdoubleでは、基本的にはdoubleを使うのが慣例だ。わざわざ精度の低いfloatを使う理由がないためである。
浮動小数点数には特別な値がある。
・POSITIVE_INFINITY(正の無限大)
・NEGATIVE_INFINITY(負の無限大)
・NaN(Not a Number)
である。
doubleやfloatは、以下のように「0除算の数」や無限大、NaNを表現することができる。
package kiso; public class Seisu { public static void main(String[] args) { //浮動小数点 double positiveInfinity = 1.0 / 0.0; double negativeInfinity = -1.0 / 0.0; System.out.println(positiveInfinity); //Infinity System.out.println(negativeInfinity); //-Infinity double pi = Double.POSITIVE_INFINITY; double ni = Double.NEGATIVE_INFINITY; double nan = Double.NaN; System.out.println(pi); //Infinity System.out.println(ni); //-Infinity System.out.println(nan); //NaN } }
参考にしたのは、同じに「パーフェクトJava」

パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)
- 作者: アリエル・ネットワーク株式会社,井上誠一郎,永井雅人,松山智大
- 出版社/メーカー: 技術評論社
- 発売日: 2009/09/24
- メディア: 大型本
- 購入: 26人 クリック: 360回
- この商品を含むブログ (35件) を見る