データ型の種類と扱える範囲
プログラムは、数値や文字を取り扱うことができますが、これらには値の種類や取り扱える範囲が決まっています。このデータの種類や値の範囲を定義したものを「データ型」と言います。今回は、そのデータ型の種類と扱える範囲について説明します。
データ型の種類と扱える範囲 目次
1.データ型とは
プログラムが処理を行う際には、例えば「1 + 1 = 2」などの計算や、「画面に”HelloWorld”と出力する」などの処理を行います。この「1 + 1」の1は数値であり、「HelloWorld」は文字列です。数値というのは数値ですので、当然ですが文字を扱うことはできません。逆に文字列の方は、「1」という文字を表すことが可能です。これはつまり「数値」ではなく「数字」になります。
では、「1」と書いた場合、これは数値なのか、それとも文字なのか分からないので、プログラムの中ではっきりと定義する必要があります。この定義のことを「データ型」と言います。データ型には様々な種類が存在します。
1-1 データ型の一覧
Javaのデータ型には、大きく分けて「整数型」、「浮動小数点型」、「文字型」、「論理型」、「文字列型」があります。
種類 | データ型の名前 | 説明 | 利用頻度 |
---|---|---|---|
整数型 | byte | かなり小さな整数 | △ |
short | 小さな整数 | × | |
int | 普通の整数整数 | ◎ | |
long | 大きな整数 | ○ | |
浮動小数点型 | float | 少し曖昧でも良い小数 | × |
double | 普通の小数 | ○ | |
文字型 | char | 1文字だけ | △ |
論理型 | boolean | 「true」か「false」 | ○ |
文字列型 | String | 文字列(複数の文字) | ◎ |
2.整数型
整数型とは、0や1などの整数を扱うデータ型のことです。小数点を含むデータは扱えません。
2-1 byte型
byte型は、1バイト(8ビット)で表現できる範囲の-128 ~ 127までしか扱えません。値の範囲が1~10の10通りしか無い場合などはbyte型を使うのが良いでしょう。
2-2 short型
short型は、2バイト(16ビット)で表現できる範囲の-32,768 ~ 32,767を扱えます。特段の理由が無い限り、short型を使うくらいなら次のint型を使用するようにしましょう。
2-3 int型
整数を扱う場合はほとんどint型を使用します。4バイト(32ビット)で扱える範囲は±21億ですので、明らかにこの範囲を超える場合以外は、基本的にはint型を使用します。
2-4 long型
long型は、intでは表現しきれないような値(売り上げとかの金額関係が多いです)を表現する際に使用します。8バイト(64ビット)で扱える範囲は±900京です。
long型を明示的に表す場合は、末尾に「L」か「l」を付けます。
例) 1500L
3.浮動小数点型
小数を扱う場合は、浮動小数点型を使用します。浮動小数点とは、その名の通り小数点が前後に移動することを指します。よって、誤差が生じますので正確な金額計算には向きません。あくまで概算の計算をする場合などに使用します。
3-1 float型
今では使用する意味はほぼありません。有効桁数は約6~7桁の精度です。小数を扱う場合、末尾に「F」か「f」を付けるとfloat型になりますが、これを付けないとdouble型と解釈されてしまいます。
例) 1.23F
3-2 double型
通常、小数を扱う場合はこのdouble型を使用します。有効桁数は15桁の精度です。double型を明示的に表す場合は、末尾に「D」か「d」を付けます。
例) 1.23D
4.論理型
4-1 boolean型
char型は、1ビットで「0」か「1」、つまり「true」か「false」を表します。日本語で言うと「真」か「偽」と言います。プログラムで扱う際は「true」か「false」を指定することになります。
5.文字型
5-1 char型
char型は、一つの文字を扱う型です。文字列ではないことに注意。実際には文字の形ではなく、文字コードを扱っています。JavaはUnicodeに準拠しており、全ての文字を番号で指定できるようになっています。
Unicodeの文字は、0~65535で表現されます。例えば「a」は97という番号で表現できます。char型は16ビットですので、16進数で表現すると、0000~FFFFで表現します。
プログラム中で文字を記述する際は、一重引用符(シングルコーテーション)「’」で文字を囲みます。
例) ’あ’
6.文字型
6-1 String型
char型は、あくまで一文字だけを表す型でしたが、複数の文字(これを文字列と言います)を表現するには、String型を使用します。プログラム中で文字列を記述する際は、二重引用符(ダブルコーテーション)「”」で文字列を囲みます。
例) ”あいうえお”
文字型で文字列を表現することはできませんが、文字列型で文字を表現することは可能です。
例) ’あいう’ //これはNG
”あ” //これはOK
7.値が取り扱える範囲
種類 | データ型の名前 | 説明 | 値の範囲 |
---|---|---|---|
整数型 | byte | 8ビット整数 | -128 ~ 127 |
short | 16ビット整数 | -32,768 ~ 32,767 | |
int | 32ビット整数 | -2,147,483,648 ~ 2,147,483,647 (約±21億) |
|
long | 64ビット整数 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 (約±900京) |
|
浮動小数点型 | float | 32ビット単精度浮動小数点数 | 約(-)3.40282347E+38(約6~7桁の精度) |
double | 64ビット倍精度浮動小数点数 | (-)1.79769313486231570E+388(15桁の精度) | |
文字型 | char | 16ビットUnicode文字 | \u0000 ~ \uFFFF |
論理型 | boolean | 真偽値 | 「true」 or 「false」 |
文字列型 | String | 文字列 | 扱えるデータの長さはint型と同じ(約21億) |
それぞれのデータ型取り扱う値の範囲をグラフにするとこんな感じです。
最近のコメント