Javaのデータ型一覧!int・Stringなど基本の型を初心者向けに地方フルリモートエンジニアが実務視点で解説

Java基礎

Javaで変数を使うとき、必ず指定しなければならないのが「データ型」です。データ型は、変数にどんな種類のデータを入れるかを決める重要な要素。この記事では、Javaのデータ型の種類を一覧で紹介し、intやStringなどの基本的な型を初心者向けにわかりやすく解説します。

生徒
変数を作るときに「int」とか「String」って書くけど、これって何が違うんですか?
先生
それが「データ型」だよ。intは整数専用、Stringは文字列専用という感じで、入れられるデータの種類が決まっているんだ。

Java データ型とは何か?初心者が知っておくべき基本概念

データ型(Data Type)とは、変数に格納できるデータの種類を定義するものです。Javaは「静的型付け言語」と呼ばれ、変数を使う前に必ずデータ型を指定する必要があります。

Javaの変数とは?宣言・初期化の基本を初心者向けに地方フルリモートエンジニアが実務視点で解説
プログラミングを学び始めると、最初に出てくる重要な概念が「変数」です。Javaにおける変数は、データを一時的に保存するための「箱」のようなもの。この記事では、Javaで扱う変数の基本から宣言・初期化の方法まで、初心者の方にもわかりやすく解説...

なぜデータ型が必要なのか?そのメリットを解説

データ型を指定することで、以下のメリットがあります。

重要ポイント: データ型を指定するメリットは主に4つあります。

  • メモリの効率化:必要な分だけメモリを確保できる
  • エラーの早期発見:間違った型のデータを入れようとするとコンパイル時にエラーになる
  • コードの可読性向上:変数に何が入るか一目でわかる
  • 処理速度の最適化:適切な型を使うことで効率的な処理が可能

Javaのデータ型は2種類あるって本当?

Javaのデータ型は、大きく分けて2種類あります。

分類 特徴
プリミティブ型 値そのものを格納する基本型 int, double, boolean, char など
参照型 データの場所(参照)を格納する型 String, 配列, クラス など
生徒
プリミティブ型と参照型…難しそう。まずはよく使うものから教えてください!
先生
そうだね!まずは、値そのものを直接扱う「プリミティブ型」から見ていこう。intやdoubleなんかがこれにあたるよ。参照型は、データの「場所」を示すタイプだけど、これはStringを例に後で詳しく説明するね。

プリミティブ型一覧:Javaの基本データ型8種類

Javaには8種類のプリミティブ型があります。これらは言語に組み込まれた基本的なデータ型です。

整数を扱うデータ型はどれを選べばいい?(4種類)

サイズ 範囲 使用例
byte 1バイト -128 ~ 127 小さな整数
short 2バイト -32,768 ~ 32,767 やや小さな整数
int 4バイト 約-21億 ~ 約21億 最もよく使う
long 8バイト 非常に大きな範囲 大きな整数
// 整数型の使用例
byte smallNumber = 100;         // byte型: -128から127の範囲
short mediumNumber = 30000;     // short型: -32,768から32,767の範囲
int normalNumber = 2000000000;  // int型: 約-21億から約21億の範囲
long bigNumber = 9000000000L;   // long型: 非常に大きな整数を扱う場合。末尾にLを付ける

このコードでは、byte、short、int、longそれぞれの整数型に値を代入しています。値のサイズによって適切な型を選ぶことが重要です。

先生
整数を使うときは、基本的にintを選べばOK!約21億まで扱えるから、ほとんどの場合これで足りるよ。

小数を扱うデータ型はどちらがおすすめ?(2種類)

サイズ 精度 使用例
float 4バイト 約7桁 精度が低くてもよい場合
double 8バイト 約15桁 最もよく使う
// 小数型の使用例
float temperature = 36.5f;        // float型: 小数点以下の精度が約7桁。末尾にfを付ける
double pi = 3.141592653589793;    // double型: 小数点以下の精度が約15桁。デフォルトの小数型

このコードでは、floatとdoubleの小数型に値を代入しています。通常はdoubleを使い、より高い精度が求められる場合に適しています。

真偽値と1文字を扱うデータ型とは?(2種類)

サイズ 格納できる値 使用例
boolean 1ビット true または false 条件判定
char 2バイト 1文字(Unicode) 1文字だけ扱う場合
// boolean と char の使用例
boolean isJavaFun = true;   // boolean型: 真偽値(trueまたはfalse)を格納
boolean isRaining = false;  // 条件分岐などで使用

char grade = 'A';           // char型: 1文字を格納。シングルクォートで囲む
char initial = '山';        // 日本語の1文字も格納可能

このコードでは、boolean型で真偽値を、char型で1文字を定義しています。char型はシングルクォートで囲む点に注意しましょう。

String型とは何か?文字列を扱う基本を理解しよう

Stringは文字列を扱うためのデータ型です。厳密にはプリミティブ型ではなく参照型ですが、非常によく使うので特別扱いされています。

String型とは何か?文字列を扱う基本を理解しよう

// String型の使用例
String name = "山田太郎";       // 文字列を格納。ダブルクォートで囲む
String greeting = "こんにちは";   // greeting変数に"こんにちは"を代入
String empty = "";             // 空文字列も格納可能

このコードは、String型変数に文字列を代入する基本的な例です。Stringは参照型の文字列であり、空文字列も扱えます。

生徒
charとStringって、どっちも文字ですよね?何が違うんですか?
先生
覚え方のコツ!charは「character(文字)の1文字版」だから、シングル(1つ)クォーテーション。Stringは複数文字だから、ダブル(複数)クォーテーション、と覚えよう!

文字列の連結はどうする?

String firstName = "太郎";
String lastName = "山田";
String fullName = lastName + firstName;  // "山田太郎"が生成される

// 数値と文字列の連結
int age = 25;
String message = "私は" + age + "歳です";  // "私は25歳です"が生成される

このコードは、+演算子を使って文字列同士や数値と文字列を連結しています。数値は自動的に文字列に変換されて連結されるため便利です。

データ型の選び方ガイド:迷ったらコレを見よう

どのデータ型を使えばよいか迷ったときは、以下のガイドを参考にしてください。

重要ポイント: データ型選択の目安は、格納したいデータの種類によって決まります。

  • 整数を扱いたい → int(約21億を超えるならlong)
  • 小数を扱いたい → double
  • 文字列を扱いたい → String
  • はい/いいえを扱いたい → boolean
  • 1文字だけを扱いたい → char
運営者
金額をintで扱って小数点が消えたバグを経験しました。データの性質を理解してから型を選ぶことが大切です。

実践例:様々なデータ型を組み合わせて使う

public class DataTypeExample {
    public static void main(String[] args) {
        // ユーザー情報を様々なデータ型で表現
        String name = "鈴木花子";        // 名前(文字列)
        int age = 28;                    // 年齢(整数)
        double height = 162.5;           // 身長(小数)
        char bloodType = 'A';            // 血液型(1文字)
        boolean isMarried = false;       // 既婚かどうか(真偽値)
        long phoneNumber = 9012345678L;  // 電話番号(大きな整数)。Lを忘れずに
        
        // 情報を出力
        System.out.println("名前: " + name);
        System.out.println("年齢: " + age + "歳");
        System.out.println("身長: " + height + "cm");
        System.out.println("血液型: " + bloodType + "型");
        System.out.println("既婚: " + isMarried);
        System.out.println("電話番号: 0" + phoneNumber);
    }
}

このコードは、様々なデータ型を使ってユーザー情報を定義し、それらを出力する実践的な例です。格納したいデータの種類に合わせて最適なデータ型を選択しているのが分かります。

実行結果:

名前: 鈴木花子
年齢: 28歳
身長: 162.5cm
血液型: A型
既婚: false
電話番号: 09012345678

実行結果では各データ型が期待通りに表示されていることを確認できます。

よくある勘違いと対処法

範囲外の値を代入するとどうなる?

NG: 範囲外の値を代入する
byte num = 200;
// エラー: byteの範囲は-128~127です。

このコードでは、byte型の最大値(127)を超える200を代入しようとしており、コンパイルエラーが発生します。

OK: 適切な型で代入する
int num = 200;
// int型は約21億まで扱えるため、200は問題なく入ります。

このコードでは、より広い範囲を持つint型に変更することで、安全に値200を格納し、エラーを回避しています。

longやfloatのリテラル指定を忘れるとどうなる?

NG: longやfloatのリテラル指定を忘れる
// NG: Lを付けずint範囲外でエラー
long big = 9999999999;

// NG: fを付けずdouble扱いでエラー
float f = 3.14;

このコードは、longとfloatの値を正しく指定していないため、コンパイルエラーが発生します。

OK: 正しいリテラル指定
// OK: long値にはLを付けて型を明示
long big = 9999999999L;

// OK: float値にはfを付けて型を明示
float f = 3.14f;

このコードは、longにはL、floatにはfを末尾に付けることで、リテラル(直接書かれた値)の型を明示し、エラーを回避しています。

charとStringを間違えるとどうなる?

NG: charとStringでクォートを間違える
// NG: charをダブルクォートで記述
char c = "A";

// NG: Stringをシングルクォートで記述
String s = 'Hello';

このコードでは、char型とString型でクォートの種類を間違えており、コンパイルエラーが発生します。

OK: 正しいクォートを使用
// OK: charはシングルクォート
char c = 'A';

// OK: Stringはダブルクォート
String s = "Hello";

このコードでは、1文字のcharはシングルクォート、複数文字のStringはダブルクォートで記述し、正しくコンパイルが通ります。

先生
覚え方のコツ!charは「character(文字)の1文字版」だから、シングル(1つ)クォーテーション。Stringは複数文字だから、ダブル(複数)クォーテーション、と覚えよう!

デフォルト値を知っておこう:初期化しなくても大丈夫?

クラスのフィールド(メンバ変数)として宣言した場合、初期化しなくてもデフォルト値が設定されます。

データ型 デフォルト値
整数型(byte, short, int, long) 0
小数型(float, double) 0.0
boolean false
char ‘\u0000’(空文字)
参照型(String等) null
NG: ローカル変数は初期化が必要
  • ローカル変数(メソッド内で宣言した変数)にはデフォルト値が設定されません。
  • 必ず初期化してから使いましょう!

まとめ

この記事では、Javaのデータ型の基本について解説しました。

この記事のポイント

  • Javaにはプリミティブ型(8種類)と参照型がある
  • 整数はint、小数はdouble、文字列はStringが基本
  • booleanは true/false の2値のみ
  • charは1文字、Stringは文字列を扱う
  • longにはL、floatにはfを付ける
生徒
データ型の全体像がわかりました!まずはint、double、String、booleanを覚えます!
先生
その4つを使いこなせれば、ほとんどのプログラムが書けるよ!次はプリミティブ型と参照型の違いについて、もう少し詳しく学んでみよう!

データ型を正しく理解することで、効率的で安全なJavaプログラムが書けるようになります。まずは基本の4種類から始めて、徐々に他の型も使ってみましょう!