Java 数値型
1. 数値型(Numbers)
Javaのプリミティブ数値型は、大きく2つのグループに分類されます。
- 整数型(Integer types): 123や-456のように、小数点を持たない正または負の整数を格納します。有効な型は
byte、short、int、longです。どの型を使用するかは、扱う数値の大きさに依存します。 - 浮動小数点型(Floating point types): 1つ以上の小数点を含む、分数を伴う数値を表します。
floatとdoubleの2つの型があります。
Javaには多くの数値型がありますが、実務で最も頻繁に使用されるのは int(整数用)と double(浮動小数点用)です。しかし、状況に応じて最適な選択ができるよう、すべての型について解説します。
2. 整数型(Integer Types)
2.1 Byte
byte データ型は、-128から127までの整数を格納できます。値が確実にこの範囲内に収まる場合、int や他の整数型の代わりに byte を使用することでメモリ(Memory)を節約できます。
コード例:
byte myNum = 100;
System.out.println(myNum);2.2 Short
short データ型は、-32,768から32,767までの整数を格納できます。
コード例:
short myNum = 5000;
System.out.println(myNum);2.3 Int
int データ型は、-2,147,483,648から2,147,483,647までの整数を格納できます。一般的に、本チュートリアルや実際の開発においても、数値を扱う変数を宣言する際には int が最も推奨されるデータ型です。
コード例:
int myNum = 100000;
System.out.println(myNum);2.4 Long
long データ型は、-9,223,372,036,854,775,808から9,223,372,036,854,775,807までの整数を格納できます。これは、int では収まりきらない非常に大きな値を扱う場合に使用されます。long 型の値を記述する際は、数値の末尾に "L" を付ける必要があることに注意してください。
コード例:
long myNum = 15000000000L;
System.out.println(myNum);3. 浮動小数点型(Floating Point Types)
9.99や3.14159のように、小数点を含む数値が必要な場合は常に浮動小数点型を使用します。
float と double はどちらも小数を格納できます。値を記述する際、float は末尾に "f"、double は "d" を付ける必要があります。
3.1 Float の例
float myNum = 5.75f;
System.out.println(myNum);3.2 Double の例
double myNum = 19.99d;
System.out.println(myNum);3.3 Float と Double のどちらを使うべきか?
浮動小数点値の精度(Precision)とは、小数点以下に何桁の数字を持てるかを示します。float の精度はわずか6〜7桁ですが、double 変数は約15〜16桁の精度を持っています。
そのため、ほとんどの計算において double を使用する方が安全です。
4. 科学計数法(指数表記)
浮動小数点数は、10の累乗を示す "e"(または "E")を使用した科学計数法(指数表記)で記述することも可能です。
コード例:
float f1 = 35e3f; // 35 * 10^3
double d1 = 12E4d; // 12 * 10^4
System.out.println(f1);
System.out.println(d1);