データ型 (Data Type)

基本データ型 (Primitive Data Type)

分類 データ型 説明
論理値 boolean trueかfalse
文字 char 16ビット 符号なし Unicode UTF-16 コードユニット
整数※1 byte 8ビット 符号付き 2の補数表現の整数
short 16ビット 符号付き 2の補数表現の整数
int 32ビット 符号付き 2の補数表現の整数
long 64ビット 符号付き 2の補数表現の整数
浮動小数点数 float 32ビット IEEE754 浮動小数点数
double 64ビット IEEE754 浮動小数点数

※1 符号なし整数は、存在しません。

ラッパークラス (Wrapper class)

基本データ型には、それぞれラッパークラスが用意されています。

分類 基本データ型 ラッパークラス
論理値 boolean Boolean
文字 char Character
整数 byte Byte
short Short
int Integer
long Long
浮動小数点数 float Float
double Double

ラッパークラスの名前は、基本データ型の型名の最初の文字を大文字にしたものとなっています。例外はcharとintで、これらは正式名称の最初を大文字にしたものです。

ラッパークラスの階層図

参照型 (Reference Type)

リテラル (Literal)

リテラルとは、各型の定数値の記述方法です。

リテラル 説明
参照リテラル nullのみ
ブール値リテラル trueとfalse
整数リテラル 8進数、10進数および16進数
  • 8進数 … 0から始める
  • 16進数 … 0xまたは0Xから始める
  • 10進数 … 上記以外の数値
浮動小数点リテラル 10進数小数点 (.) を持つ
文字リテラル シングルクォート (') で囲んだUnicode文字
文字列リテラル ダブルクォート (") で囲んだUnicode文字列
クラスリテラル 型を表すClassクラスのインスタンス。型名の後に.classを付けることで取得できる

整数リテラル (Integer Literals)

数値の末尾が「L」または「l」ならば、long型となります。さもなくばint型とみなされます。

short型に代入されるとき、その数値がshort型の範囲内ならば、それはshort型となります。byte型も同様です。

int i = 10;
long l = 10L;

byte b1 = 127;    // OK
byte b2 = 128;    // ERROR : Type mismatch: cannot convert from int to byte

short s1 = 32767; // OK
short s2 = 32768; // ERROR : Type mismatch: cannot convert from int to short
long l1 = 10;  // OK
long l2 = 10L; // OK

// ラッパークラス
Long l3 = 10;  // ERROR : Type mismatch: cannot convert from int to Long
Long l4 = 10L; // OK
Long l5 = new Long(10); // OK

文字列リテラル (String Literals)

文字列リテラルは、Stringクラスのオブジェクトへの参照です。

Object str = "ABC";
System.out.println( str instanceof String ); // true

型の変換 (キャスト)

  • アップキャスト (upcast)
  • ダウンキャスト (downcast)

型の検査 (instanceof演算子)

instanceof演算子は、左辺の式が右辺の式の型名と代入互換な参照型であれば、trueを返します。15.20.2. Type Comparison Operator instanceof - Chapter 15. Expressions

Object a = 1.0;

boolean x1 = a instanceof Object;  // true
boolean x2 = a instanceof Integer; // false
boolean x3 = a instanceof Double;  // true

// boolean x4 = a instanceof double;
// ERROR : Syntax error on token "double", Dimensions expected after this token
Javaのドキュメントから検索