Javaのデータ型
Javaでは変数や、式の結果など全ての値にデータ型があります。
データ型とはデータの種類や範囲を定義したものです。
プログラムで扱いたいデータの種類に応じて適切なデータ型を選択する必要があります。
例えば、int型であれば整数のみ扱えて、小数点以下は扱うことができません。
少数点以下を扱いたい場合は,floatかdouble型を利用することになります。
基本データ型と参照型
Javaには大きく分けて2つのデータ型があります。1つは基本データ型(プリミティブ型)
と呼ばれるものでJavaの言語仕様に始めから組み入れらている型です。
もう一つは参照型と呼ばれるもので、クラスやインターフェイス、配列を型とするもの
です。ここでは、基本データ型について見ていきます。
基本データ型(プリミティブ型)
Javaで扱える基本データ型の一覧でです。
データ型 | 意味 | 型のサイズ(byte) | データ範囲 |
---|---|---|---|
boolean | 論理値(真偽値) | true , false | |
byte | 符号付整数 | 1 | -128 〜 127 |
short | 符号付整数 | 2 | -32768 〜 32767 |
int | 符号付整数 | 4 | -2147483648 〜 2147483647 |
long | 符号付整数 | 8 | -9223372036854775808 〜 9223372036854775807 |
float | 単精度浮動小数点 | 4 | ±1.5 X 10-45 〜 ±3.4 X 1038 |
double | 倍精度浮動小数点 | 8 | ±5.0 X 10-324 〜 ±1.7 X 10308 |
char | 文字 | 2 | ¥u0000 〜 ¥uffff |
C言語では整数を符号付整数と符号無整数(unsigned)に分かれていたが,Jvaではそれらの区別がなくなっています。整数値は扱うデータの範囲によって
4種類用意されています。少数点付きのデータ型は浮動小数点型であるfolatがdoubleを利用します。
folatとdoubleは科学技術計算に用いられる型であり、高速に計算することを目的としており、多少の誤差が出ることが知られています。
ですので、誤差の許されない金利の計算などには使うとこが出来ませんので注意が必要です。誤差の無い計算をするためには
BigDecimalというクラスを使うことになります。
誤差が発生するプログラムの例を示します。
public static void main(String[] args) { double x = 1.0; double y = 0.1 * 9; System.out.println(x - y); }
実行結果は, 0.09999999999999998 となり誤差が生じてしまいます。