カテゴリ: Java 更新日: 2026/01/08

Javaのデータ型を完全解説!int・double・boolean の違いを初心者向けに整理

Javaのデータ型を完全解説!int・double・boolean の違いを初心者向けに整理
Javaのデータ型を完全解説!int・double・boolean の違いを初心者向けに整理

先生と生徒の会話形式で理解しよう

生徒

「Javaでプログラミングを始めたんですが、データ型って何ですか?intとかdoubleとか、いろいろあってよくわからなくて……」

先生

「データ型は、変数にどんな種類のデータを入れるかを決めるものです。Javaでは、整数、小数、真偽値など、それぞれに適したデータ型が用意されていますよ。」

生徒

「なるほど。でも、どうやって使い分けたらいいんですか?」

先生

「それでは、Javaの基本的なデータ型について、一つずつ見ていきましょう!」

1. Javaのデータ型とは何か

1. Javaのデータ型とは何か
1. Javaのデータ型とは何か

Javaのデータ型は、変数に格納できるデータの種類を定義するものです。プログラミングでは、数値や文字、真偽値など、さまざまな種類のデータを扱いますが、それぞれのデータには適切な型が必要になります。

Javaのデータ型は、大きく分けて基本データ型(プリミティブ型)参照型の2つに分類されます。基本データ型は、整数型、浮動小数点型、文字型、論理型の4つのカテゴリに分かれており、全部で8種類存在します。

変数を宣言する際には、必ずデータ型を指定する必要があります。これにより、Javaコンパイラはメモリをどれだけ確保すればよいかを判断でき、適切なデータ処理が可能になります。

2. 整数型のint型の特徴と使い方

2. 整数型のint型の特徴と使い方
2. 整数型のint型の特徴と使い方

int型は、Javaで最もよく使われる整数型のデータ型です。整数とは、小数点を含まない数値のことで、正の数、負の数、ゼロを表現できます。

int型は32ビット(4バイト)のメモリ領域を使用し、-2,147,483,648から2,147,483,647までの範囲の整数を格納できます。日常的なプログラミングでは、この範囲で十分なケースがほとんどです。

int型の変数を宣言して使用する基本的な例を見てみましょう。


public class IntExample {
    public static void main(String[] args) {
        int age = 25;
        int score = 100;
        int temperature = -5;
        
        System.out.println("年齢: " + age);
        System.out.println("スコア: " + score);
        System.out.println("気温: " + temperature + "度");
        
        int sum = age + score;
        System.out.println("合計: " + sum);
    }
}

実行結果は以下のようになります。


年齢: 25
スコア: 100
気温: -5度
合計: 125

int型は計算処理も高速で、カウンター変数やループの制御、配列のインデックスなど、プログラミングの様々な場面で活用されます。整数の計算では、足し算、引き算、掛け算、割り算などの基本的な演算が可能です。

3. 小数を扱うdouble型の特徴と使い方

3. 小数を扱うdouble型の特徴と使い方
3. 小数を扱うdouble型の特徴と使い方

double型は、小数点を含む数値を扱うための浮動小数点型です。doubleという名前は「倍精度浮動小数点数」を意味し、float型よりも高い精度で小数を表現できます。

double型は64ビット(8バイト)のメモリ領域を使用し、非常に大きな数値や非常に小さな数値、そして小数点以下の細かい値まで表現できます。科学技術計算や金融計算など、精密な数値計算が必要な場面で重宝されます。

double型を使った基本的なプログラム例を見てみましょう。


public class DoubleExample {
    public static void main(String[] args) {
        double price = 1580.5;
        double tax = 0.1;
        double pi = 3.14159;
        
        System.out.println("商品価格: " + price + "円");
        System.out.println("消費税率: " + tax);
        System.out.println("円周率: " + pi);
        
        double totalPrice = price * (1 + tax);
        System.out.println("税込価格: " + totalPrice + "円");
    }
}

実行結果は以下のようになります。


商品価格: 1580.5円
消費税率: 0.1
円周率: 3.14159
税込価格: 1738.55円

double型は小数の計算に便利ですが、浮動小数点数の性質上、誤差が生じることがあります。そのため、金額の計算など厳密な精度が求められる場合は、BigDecimalクラスを使用することも検討しましょう。

4. 真偽値を扱うboolean型の特徴と使い方

4. 真偽値を扱うboolean型の特徴と使い方
4. 真偽値を扱うboolean型の特徴と使い方

boolean型は、真(true)か偽(false)の2つの値のみを持つデータ型です。論理型とも呼ばれ、条件判定やフラグ管理など、プログラムの制御フローを決定する重要な役割を果たします。

boolean型は1ビットの情報を表現しますが、実際のメモリ使用量はJavaの実装によって異なります。この型は、if文やwhile文などの条件分岐で頻繁に使用され、プログラムの動作を制御します。

boolean型を使った実践的な例を見てみましょう。


public class BooleanExample {
    public static void main(String[] args) {
        boolean isRaining = true;
        boolean hasUmbrella = false;
        int temperature = 28;
        
        System.out.println("雨が降っている: " + isRaining);
        System.out.println("傘を持っている: " + hasUmbrella);
        
        boolean needUmbrella = isRaining && !hasUmbrella;
        System.out.println("傘が必要: " + needUmbrella);
        
        boolean isSummer = temperature > 25;
        System.out.println("夏日である: " + isSummer);
    }
}

実行結果は以下のようになります。


雨が降っている: true
傘を持っている: false
傘が必要: true
夏日である: true

boolean型は論理演算子(&&、||、!)と組み合わせることで、複雑な条件判定も簡潔に記述できます。プログラミングにおいて、状態管理や条件分岐は欠かせない要素なので、boolean型の使い方をしっかりマスターしましょう。

5. int型とdouble型の違いと使い分け

5. int型とdouble型の違いと使い分け
5. int型とdouble型の違いと使い分け

int型とdouble型は、どちらも数値を扱うデータ型ですが、その用途と特性には大きな違いがあります。適切なデータ型を選択することは、プログラムの正確性と効率性に直結します。

int型は整数専用で、小数点以下の値を持ちません。カウンターやインデックス、人数や個数など、割り切れる数値を扱う場面で使用します。一方、double型は小数点を含む数値を扱えるため、測定値や計算結果、割合など、より精密な数値表現が必要な場面で活躍します。

int型とdouble型を混在させた計算では、自動的に型変換が行われることも知っておく必要があります。


public class TypeDifferenceExample {
    public static void main(String[] args) {
        int studentCount = 30;
        int totalScore = 2400;
        
        int averageInt = totalScore / studentCount;
        System.out.println("平均点(int型の割り算): " + averageInt);
        
        double averageDouble = (double) totalScore / studentCount;
        System.out.println("平均点(double型の割り算): " + averageDouble);
        
        double price = 1000.0;
        int quantity = 3;
        double total = price * quantity;
        System.out.println("合計金額: " + total + "円");
    }
}

実行結果は以下のようになります。


平均点(int型の割り算): 80
平均点(double型の割り算): 80.0
合計金額: 3000.0円

int型同士の割り算では、小数点以下が切り捨てられてしまいます。正確な平均値を求める場合は、どちらかをdouble型にキャストする必要があります。このような型変換の知識は、バグを防ぐために非常に重要です。

6. その他の基本データ型の紹介

6. その他の基本データ型の紹介
6. その他の基本データ型の紹介

Javaには、int型、double型、boolean型以外にも、様々な基本データ型が用意されています。それぞれの型には、特定の用途や範囲があり、状況に応じて使い分けることで、メモリ効率の良いプログラムを作成できます。

byte型は8ビットの整数型で、-128から127までの範囲を扱えます。メモリを節約したい場合や、バイナリデータを扱う際に使用されます。

short型は16ビットの整数型で、-32,768から32,767までの範囲を持ちます。int型よりも小さい範囲の整数を扱う場合に有効です。

long型は64ビットの整数型で、int型では表現できない非常に大きな整数を扱う際に使用します。値の後ろにLまたはlを付けて記述します。

float型は32ビットの浮動小数点型で、double型よりも精度は低いですが、メモリ使用量が少ないのが特徴です。値の後ろにFまたはfを付けて記述します。

char型は16ビットの文字型で、単一の文字を格納します。Unicode文字を扱うことができ、シングルクォーテーション(')で囲んで記述します。

これらのデータ型を理解し、適切に使い分けることで、より効率的で読みやすいJavaプログラムを書くことができるようになります。

7. 変数の宣言と初期化の基本

7. 変数の宣言と初期化の基本
7. 変数の宣言と初期化の基本

Javaで変数を使用するには、まず変数を宣言し、その後に値を代入(初期化)する必要があります。変数の宣言とは、データ型と変数名を指定して、メモリ上に領域を確保することです。

変数名の付け方には一定のルールがあります。変数名は英字、数字、アンダースコア(_)、ドル記号($)を使用できますが、数字から始めることはできません。また、Javaの予約語(intやdoubleなど)は変数名として使用できません。

慣例として、変数名は小文字で始め、複数の単語を組み合わせる場合はキャメルケース(例:studentName、totalPrice)を使用します。わかりやすく意味のある変数名を付けることで、コードの可読性が大幅に向上します。

変数を宣言する際には、宣言と同時に初期化することも、後から値を代入することもできます。ただし、初期化されていない変数を使用しようとすると、コンパイルエラーが発生するので注意が必要です。

また、finalキーワードを使用すると、一度だけ値を設定できる定数を宣言できます。定数名は慣例として全て大文字で記述し、単語の区切りにアンダースコアを使用します(例:MAX_VALUE、TAX_RATE)。

8. データ型の変換とキャスト

8. データ型の変換とキャスト
8. データ型の変換とキャスト

Javaでは、異なるデータ型間での値の変換が必要になる場面が頻繁にあります。データ型の変換には、自動的に行われる暗黙の型変換と、明示的に指定する必要があるキャスト(型変換)の2種類があります。

暗黙の型変換は、小さいデータ型から大きいデータ型への変換時に自動的に行われます。例えば、int型からdouble型への変換は、情報の損失がないため自動的に実行されます。これを拡大変換(widening conversion)と呼びます。

一方、大きいデータ型から小さいデータ型への変換や、double型からint型への変換では、データの一部が失われる可能性があるため、明示的なキャストが必要です。これを縮小変換(narrowing conversion)と呼び、プログラマーが意図的に変換を指示する必要があります。

キャストは、変換したい値の前に括弧でデータ型を指定することで行います。例えば、(int)や(double)のように記述します。ただし、キャストによってデータが失われる可能性があることを理解し、慎重に使用する必要があります。

文字列型(String)と数値型の相互変換も、プログラミングでよく行われる処理です。String型からint型への変換には、Integer.parseInt()メソッドを使用し、int型からString型への変換には、String.valueOf()メソッドや文字列連結を使用します。

9. データ型選択の実践的なポイント

9. データ型選択の実践的なポイント
9. データ型選択の実践的なポイント

プログラミングにおいて、適切なデータ型を選択することは、コードの品質とパフォーマンスに大きく影響します。データ型の選択には、いくつかの重要な判断基準があります。

まず、扱うデータの性質を考えましょう。個数や人数など、必ず整数になるデータにはint型を使用します。身長や体重、金額など、小数を含む可能性があるデータにはdouble型を選択します。真偽を判定する場合は、迷わずboolean型を使用しましょう。

データの範囲も重要な判断材料です。一般的な整数であればint型で十分ですが、非常に大きな数値を扱う場合はlong型を検討します。逆に、限られた範囲の小さな整数であれば、byte型やshort型を使ってメモリを節約することもできます。

パフォーマンスの観点では、基本データ型は参照型よりも高速に処理されます。大量のデータを扱う場合や、頻繁に計算を行う場合は、基本データ型を優先的に使用することで、プログラムの実行速度を向上させることができます。

可読性も見逃せない要素です。変数の用途が明確になるよう、適切なデータ型と意味のある変数名を組み合わせることで、他の開発者や将来の自分がコードを理解しやすくなります。コメントを適切に追加することも、コードの品質向上につながります。

10. データ型使用時の注意点とよくある間違い

10. データ型使用時の注意点とよくある間違い
10. データ型使用時の注意点とよくある間違い

Javaのデータ型を使用する際には、いくつかの注意点があります。これらを理解しておくことで、バグを未然に防ぎ、より安定したプログラムを作成できます。

整数のオーバーフローは、初心者が見落としがちな問題です。int型の最大値を超える計算を行うと、値が負の数になってしまうことがあります。大きな数値を扱う場合は、long型を使用するか、計算前に範囲をチェックする処理を追加しましょう。

浮動小数点数の誤差も重要な注意点です。double型やfloat型は、内部的に2進数で表現されるため、10進数の小数を正確に表現できないことがあります。特に、金額計算など厳密な精度が求められる場合は、BigDecimalクラスの使用を検討してください。

整数同士の割り算では、結果が整数になることを忘れないようにしましょう。例えば、5を2で割った結果は2となり、小数点以下が切り捨てられます。正確な結果を得るには、どちらか一方をdouble型にキャストする必要があります。

boolean型では、trueとfalse以外の値を代入できません。他の言語のように、0や1を真偽値として扱うことはできないので注意が必要です。また、比較演算子(==)と代入演算子(=)を混同しないようにしましょう。

変数のスコープ(有効範囲)にも注意が必要です。ローカル変数はそれが宣言されたブロック内でのみ有効で、ブロックの外では使用できません。変数の宣言位置を適切に選ぶことで、コードの保守性が向上します。

カテゴリの一覧へ
新着記事
New1
Quarkus
Quarkusのフォーム認証を基礎から解説!初心者向けセキュリティ入門ガイド
New2
Micronaut
MicronautプロジェクトをGradleで管理する基礎!build.gradleの役割を解説
New3
Micronaut
LinuxでMicronautをセットアップする方法!パッケージ管理とGradle連携
New4
Java
Javaのswitch文を徹底解説!case・defaultの書き方と実例まとめ
人気記事
No.1
Java&Spring記事人気No1
Quarkus
Quarkusプロジェクト構成の基本を完全解説!初心者でも迷わない「どこに何を書くか」ガイド
No.2
Java&Spring記事人気No2
Quarkus
Quarkusのセキュリティ基礎を初心者でもわかるように解説!
No.3
Java&Spring記事人気No3
Quarkus
QuarkusとMicronautとHelidonを徹底比較!軽量Javaフレームワークの違いを初心者向けに解説
No.4
Java&Spring記事人気No4
Quarkus
Quarkusの開発環境構築で躓きやすいポイントを完全解説!初心者でも安心して始めるためのチェックガイド
No.5
Java&Spring記事人気No5
Micronaut
MicronautとSpring Bootの違いとは?アーキテクチャ比較で速さの秘密を理解する
No.6
Java&Spring記事人気No6
Quarkus
Quarkusでマイクロサービス開発が加速する理由を徹底解説!Java初心者でも分かるクラウドネイティブ
No.7
Java&Spring記事人気No7
Micronaut
MicronautのAOPが高速な理由とは?コンパイル時AOPの仕組みを初心者向けに徹底解説
No.8
Java&Spring記事人気No8
Micronaut
Micronautのアプリケーション起動が速い理由を初心者向けに解説