Java 速習チュートリアル

Java のデータ型

1. Javaのデータ型

前章で説明した通り、Javaの変数(Variable)には必ず特定のデータ型を指定しなければなりません。

1.1 コード例

int myNum = 5;               // 整数 (whole number)
float myFloatNum = 5.99f;    // 浮動小数点数 (Floating point number)
char myLetter = 'D';         // 文字 (Character)
boolean myBool = true;       // ブーリアン / 真偽値 (Boolean)
String myText = "Hello";     // 文字列 (String)

Javaのデータ型は、大きく2つのグループに分けられます。

  • プリミティブ型(Primitive data types): byteshortintlongfloatdoublebooleanchar が含まれます。
  • 非プリミティブ型(Non-primitive data types): String、配列(Arrays)、クラス(Classes)などが含まれます(これらについては後の章で詳しく説明します)。

2. プリミティブ型 (Primitive Data Types)

プリミティブ型は、変数の型と、その変数が保持できる値の種類を指定します。
Javaには8つのプリミティブ型が存在します。

データ型説明
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小数点を含む数値を格納。6〜7桁の精度
double小数点を含む数値を格納。15〜16桁の精度
booleantrue(真)または false(偽)の値を格納
char1つの文字、またはASCII値を格納

3. 型の変更は不可能

一度ある型で宣言された変数は、プログラムの途中で別の型に変更することはできません。

3.1 エラーの例

int myNum = 5;       // myNum は int型
// myNum = "Hello";  // エラー: int型に String(文字列)を代入することはできません

String myText = "Hi"; // myText は String型
// myText = 123;      // エラー: String型に数値(number)を代入することはできません

       Note: このルールにより、Javaの型安全性(Type safety)が保たれています。誤って型を混ぜて使おうとするとコンパイラが停止させるため、バグを未然に防ぐことができます。

どうしても型を変換する必要がある場合は、型変換(キャスト / Type casting)や変換メソッド(例:intdouble に変換するなど)を使用する必要があります。