Java データ型とは(基本型と参照型)

Javaのデータ型についてです。

目次

データ型 データ型とは / 基本型とは / 参照型とは
  データ型の一覧
  char型とString型の違い

データ型とは

  • データ型とはデータの種類です。
  • Javaのデータ型は、基本型と参照型があります。

 

基本型とは

  • 基本型の変数には、値が格納されます。
  • 変数とは、int a = 0;とあったときのaです。0が値です。
  • 基本型は、プリミティブ型、原始型とも呼ばれます。

 

データ型の一覧

分類 データ型 範囲  備考
整数 byte -128~127 1バイト
short -32,768~32,767 2バイト ほとんど使用されない
int -2147483648~2147483647
(約-21億~21億)
4バイト
数値を使用するとき(使用推奨)
10は、int型の10を表す
long -9223372036854775808~9223372036854775807
(約-922京~約922京)
8バイト
intより大きい数値を使うとき
10lは、long型の10を表す
浮動小数点
(実数)
float 32ビット単精度
浮動小数点数
4バイト doubleより容量を使いたくないとき 誤差あり
10fは、float型の10を表す
double 64ビット倍精度
浮動小数点数
8バイト 小数を使用するとき(使用推奨) 誤差あり
10dは、double型の10を表す
真偽 boolean true / false 1バイト 論理型
文字 char ¥u0000~¥uffff
0~65535の範囲
2バイト Unicode(UTF-16)の文字に対応する数値コード
文字をシングルコーテションで括る

整数と実数の違い

整数は数値で小数点がないものです。データ型ではbyte,short,int,longです。

実数は数値で小数点があるものです。データ型ではfloat,doubleです。実数型とも呼ばれます。

 

数値に区切り文字を使用する

桁数の多い数値を見やすくするために区切り文字としてアンダースコア(_)を使用できます。
実際の値への影響はありません。

	int test1 = 1_000_000;
	System.out.println(test1); // 1000000
		
	int test2 = 1_0000_00;
	System.out.println(test2); // 1000000

1行目は、数値を3桁ごとに区切っています。
4行目は、数値が3桁ごとに区切られていませんが実際の値には影響していません。

 

intの最大値に1を足した場合

エラーにはなりませんが、値がマイナスになってしまうので注意が必要です。

	int test1 = 2147483647 + 1;
	System.out.println(test1); // -2147483648

 

浮動小数点の計算は丸め誤差に注意

浮動小数点の計算では丸め誤差が発生するので注意が必要です。

	double a = 0.1;
	double b = 0.2;
	System.out.println(a + b); // 0.30000000000000004

金額の計算等の正確性を要求される計算ではBigDecimalクラスを使用します。

 

最大値と最小値の定数

各データ型の最大値と最小値は、MAX_VALUEとMIN_VALUEで取得できます。
※浮動小数点除く。

	byte testByte1 = Byte.MAX_VALUE;
	System.out.println(testByte1); // 127
		
	byte testByte2 = Byte.MIN_VALUE;
	System.out.println(testByte2); // -128
        
	int testInt1 = Integer.MAX_VALUE;
	System.out.println(testInt1); // 2147483647

	int testInt2 = Integer.MIN_VALUE;
	System.out.println(testInt2); // -2147483648
        
	int testChar1 = (int)Character.MAX_VALUE;
	System.out.println(testChar1); // 65535
		
	int testChar2 = (int)Character.MIN_VALUE;
	System.out.println(testChar2); // 0

 

参照型とは

  • Javaのデータ型の参照型は、クラス、インターフェース、配列等があります。
  • 文字列を代入するString型も参照型です。
  • 参照型の変数には、参照先のアドレスが格納されます。
  • 値は指定されたアドレスにあります。
  • 参照先がない状態がnullです。
  • 参照型はリファレンス型とも呼ばれます。

 

char型とString型の違い

char型はシングルコーテションで括ります。String型はダブルコーテーションです。

package test1;

public class Test1 {
	public static void main(String[] args) {

		char a = 'あ';
		String b = "あ"; 
	}
}

6行目は、シングルコーテーションで括った文字をchar型の変数に代入しています。
7行目は、ダブルコーテーションで括った文字をString型の変数に代入しています。
char型の変数にダブルコーテーションで括った文字を代入しようとするとコンパイルエラーになります。

関連の記事

Java ラッパークラスとは (intとIntegerの違い)
Java valueOf 数値と文字列を変換する
Java クラスで使われる用語のまとめ(メンバー変数等)

△上に戻る