Javaのデータ型とは?書き方や使い方をわかりやすく解説

Javaを学び始めると、まず最初に出会うのが「データ型」という概念です。
データ型を理解することで、プログラムがどのような種類の値を扱えるか、そしてその値の範囲を正しく選択できるようになります。
本記事では、Javaの基本データ型8種類を初心者にも分かりやすく丁寧に解説し、実際に試せるサンプルコードや演習問題も用意しました。
読み進めながら手を動かせば、変数の型選びに迷わなくなるはずです。
Javaのデータ型とは?
Javaの「データ型」とは、変数や値がどのような種類のデータを扱うかを定義するルールです。
例えば整数、小数、文字、真偽値など、扱いたいデータの性質によって型が異なります。
Javaは静的型付け言語なので、変数を宣言する際に型を明示する必要があります。
これにより、型の誤りをコンパイル時に検出でき、プログラムの安全性が高まります。
Javaには大きく分けて次の2種類があります。
- 基本データ型(プリミティブ型) … 直接値を保持する最も基本的な型。
- 参照データ型(オブジェクト型) … 実際の値が格納されている場所(アドレス)への参照を保持する型。
ここではまず、プログラムの基礎となる「基本データ型」について詳しく見ていきましょう。
Java基本データ型 早見表
型名 | サイズ(ビット) | 値の範囲 | 初期値 | 主な用途 |
---|---|---|---|---|
byte | 8 | -128 ~ 127 | 0 | 小さな整数、メモリ節約時 |
short | 16 | -32,768 ~ 32,767 | 0 | 中規模の整数 |
int | 32 | -2,147,483,648 ~ 2,147,483,647 | 0 | 一般的な整数 |
long | 64 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 0L | 大きな整数 |
float | 32 | 約 ±3.40282347E+38(単精度) | 0.0f | 小数(精度低め) |
double | 64 | 約 ±1.79769313486231570E+308(倍精度) | 0.0d | 小数(精度高め) |
boolean | 1(仕様上は未定義) | true または false | false | 真偽値(条件分岐) |
char | 16 | ‘\u0000’ ~ ‘\uffff’(Unicode文字) | ‘\u0000’ | 1文字(Unicode対応) |
表からわかるように、それぞれの型はサイズや扱える範囲が異なります。
用途に合わせて適切な型を選択することが、効率的で安全なプログラムを書くための第一歩です。
基本データ型の使い方と例
- 整数型(byte, short, int, long)
- 小数型(float, double)
- 真偽値型(boolean)
- 文字型(char)
整数型(byte, short, int, long)
整数を扱うときに使います。通常はintを使い、より大きな範囲が必要なときはlongを選びます。byteやshortはメモリ節約や特定の場面でのみ使用されます。
public class IntegerExample {
public static void main(String[] args) {
byte smallNumber = 120;
short mediumNumber = 30000;
int normalNumber = 100000;
long bigNumber = 9000000000L; // Lを付ける
System.out.println(smallNumber);
System.out.println(mediumNumber);
System.out.println(normalNumber);
System.out.println(bigNumber);
}
}
小数型(float, double)
小数を扱います。floatは精度が低めですが軽量、doubleは精度が高く多くの場面で利用されます。
public class FloatingExample {
public static void main(String[] args) {
float piFloat = 3.14f;
double piDouble = 3.14159265359;
System.out.println(piFloat);
System.out.println(piDouble);
}
}
真偽値型(boolean)
条件分岐で使う、trueかfalseの2値のみを扱う型です。
public class BooleanExample {
public static void main(String[] args) {
boolean isJavaFun = true;
boolean isCold = false;
System.out.println(isJavaFun);
System.out.println(isCold);
}
}
文字型(char)
1文字を扱い、Unicodeに対応しています。
public class CharExample {
public static void main(String[] args) {
char grade = 'A';
char symbol = '\u2605'; // Unicodeで★
System.out.println(grade);
System.out.println(symbol);
}
}
参照データ型の例(Stringなど)
参照型の代表がStringです。文字列を扱い、多くの便利なメソッドが用意されています。
public class StringExample {
public static void main(String[] args) {
String name = "シン";
System.out.println(name.length());
System.out.println(name + "さん、こんにちは!");
}
}
演習問題
- 基本型と参照型を組み合わせた自己紹介プログラム
- char型を使った記号出力プログラム
- floatとdoubleの精度比較プログラム
問題1:基本型と参照型を組み合わせた自己紹介プログラム
年齢(整数)、名前(文字列)、身長(小数)、学生かどうか(真偽値)を変数に代入し、自己紹介文を出力してください。
int age = 25;
String name = "シン";
double height = 170.5;
boolean isStudent = true;
System.out.println("名前: " + name + ", 年齢: " + age + "歳, 身長: " + height + "cm, 学生: " + isStudent);
問題2:char型を使った記号出力プログラム
char型で好きな記号を代入し、出力してください。
char mark = '#';
System.out.println(mark);
問題3:floatとdoubleの精度比較プログラム
floatとdoubleの違いを確認するため、それぞれに円周率を代入して出力してください。
float fPi = 3.14f;
double dPi = 3.141592653589793;
System.out.println(fPi);
System.out.println(dPi);
よくある質問(FAQ)
Q1: Javaで最もよく使うデータ型は?
A: int、double、boolean、Stringが特に多く使われます。
Q2: Stringは基本型ですか?
A: いいえ、Stringは参照型です。
Q3: boolean型は0や1を入れられますか?
A: 直接は入れられません。trueかfalseのみです。
Q4: floatとdoubleはどちらを使うべき?
A: 基本的にはdoubleがおすすめです。floatは精度が低めです。
Q5: long型の末尾にLを付ける理由は?
A: intとして解釈されるのを防ぐためです。
まとめ
Javaのデータ型は、プログラムで扱える情報の種類とその範囲を決定する非常に重要な要素です。
基本データ型は8種類あり、それぞれ用途や扱える範囲が異なります。
これらを正しく理解すれば、適切な変数宣言や効率的なメモリ管理ができ、プログラムの可読性や性能も向上します。
初心者はまずint、double、boolean、char、そしてStringを重点的に学び、必要に応じて他の型へと知識を広げていくと良いでしょう。