Javaのデータ型を学ぶ!基本型(プリミティブ型)と参照型。
この記事では、Javaを使ってプログラミングをするうえで必要となるデータ型の知識について学ぶ。
最初はわずらわしく感じるかもしれないデータ型の存在だが、プログラムを正しく動作させるために必要な存在。正しい知識を身につけて使いこなせるようになろう。
データ型とは?
「データ型」とはプログラム内で扱うデータのタイプのことで、 すべてのプログラミング言語には、データ型が存在する。
データのタイプには、数値・文字列・真偽などがある。
静的型付け言語と動的型付け言語
プログラミング言語には、「静的型付け言語」と「動的型付け言語」が存在する。
それぞれの特徴と代表的な言語は以下の通りだ。
- 静的型付け言語
プログラム内であらかじめ明示的にデータ型を指定するタイプのプログラミング言語。
(例)Java, C, C++ - 動的型付け言語
プログラム内ではデータ型を指定しないタイプのプログラミング言語。データ型はプログラムを実行する際に、コンパイラーが解釈する。
(例)JavaScript, Python, PHP
両者の違いはプログラミング言語のキャラクターを決定するもっとも重要な要素なので覚えておこう!
基本型(プリミティブ)
まずはでは、プリミティブ型に属するデータ型から順に見ていこう。
基本データ型の一覧と値の範囲
Javaにおいて基本型とされるデータ型は次の8つである。
データ型 | 範囲 | ||
論理型 | boolean | true/false | |
整数型 | byte | -128~127 | |
short | -32,768~32,767 | ||
int | -2,147,483,648~2,147,483,647 | ||
long | -9,223,372,036,854,775,808~9,223,372,036,854,775,807 | ||
浮動少数点型 | float | ±3.40282347E+38~±1.40239846E-45 | |
double | ±1.79769313486231570E+308~±4.94065645841246544E-324 | ||
文字型 | char | \u0000~\uFFFF |
基本型のデータ型は、プログラム内で変数が定義されたらメモリー上に必要な容量をあらかじめ確保する。データ型ごとに必要なメモリー容量を把握して、状況に応じて必要なデータ型をチョイスするように心がけよう。
論理型
論理型はブール型もしくはブーリアンなどと呼ばれプログラム内では「boolean」で表される。
TRUEかFALSEのいずれかの値を持つことが特徴のシンプルなデータ型で、プログラム内での使用頻度は高い。
論理型はTRUEかFALSEのいずれかの値しか持たず、これは「0か1」であらわすことができる。よって、値を保持するのに必要な記憶要領は1ビットとなる。
整数型
Javaでは整数型のデータ型としてbyte・short・int・longの4つのデータ型が用意されている。
この4つのデータ型の違いは値を格納するための記憶容量である。byte < short < int < longの順に記憶容量は大きくなる。
Javaのプログラム内で数を格納する必要がある場合は通常intを用いる。オブジェクトのIDといった大きめの値を格納する必要がある場合にのみlongを使用する。
なお、intはインテージャーと呼ばれる。
浮動少数点型
浮動小数点型のデータ型にはfloatとdoubleがあり、どちらも少数点を含む値を格納するために存在するデータ型だ。
floatはおおよそ少数点第7位まで、doubleはおおよそ少数点第15位までの値を格納することができる。
文字型
なお、文字型は整数型に分類されることもあるが文字型としたほうが初心者には理解しやすいのでこの記事では文字型として分類した。
なお、charは「チャー」と呼ばれることが多い。
参照型(オブジェクト型)
次に参照型のデータを見ていこう。
参照型のデータ型は基本型とは異なり、保持される値はメモリー内の別の領域に記憶される。プログラムからはデータは参照されている状態となるため、これらのデータ型は参照型と呼ばれる。
文字列型 String
Javaにおいて一般的に文字列をデータ型として扱う場合はこのString型を使用する。様々なUtil機能が用意されている。
日付型 Date
Javaでは日付を扱うデータ型にも様々な種類がある。Date・LocalDateなど。これらのデータ日本時間からヨーロッパ時間へなど時差を考慮したオペレーションも簡単におこなうことができる。
配列型 Array
Arrayはよく使用されるデータ型だ。配列データ型では並列する複数の値をひとつの変数として格納することができる。Javaの配列は以下のようにあらわされる。
データ型[] 変数名
Javaでは、並列する複数の値を格納するデータ型はArray以外にも数多く存在する。(Vector、ArrayListなど。)
データ型のサンプル
この記事で紹介したデータ型のサンプルが以下のコードだ。
自分で数値をいじってみたりして、どういった値を代入するときにエラーが発生するか確認しておくといいだろう。
import java.util.Date; class DataTypeExample { public static void main(String[] args) { boolean isSuccess = false; int currentNumber = 120; long customerId = 12L; // Lを付けることによってLongだとわかる。 double tax = 0.08; String userName = "Taro Tanaka"; Date today = new Date(); int[] numbers = {5, 52, 12}; System.out.println("TEST"); } }