データ型の種類と扱える範囲

プログラムは、数値や文字を取り扱うことができますが、これらには値の種類や取り扱える範囲が決まっています。このデータの種類や値の範囲を定義したものを「データ型」と言います。今回は、そのデータ型の種類と扱える範囲について説明します。

データ型の種類と扱える範囲 目次

  1. データ型とは
  2. 整数型
  3. 浮動小数点型
  4. 論理型
  5. 文字型
  6. 文字型
  7. 値が取り扱える範囲

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億)

それぞれのデータ型取り扱う値の範囲をグラフにするとこんな感じです。

データ型の値の範囲

コメントを残す

サブコンテンツ

このページの先頭へ