
Java超|Javaのデータ型
データ型は、Javaの変数に与える“専用カプセルの種類”。何を入れる箱なのかを決めることで、値を安全に、正しく、分かりやすく扱えるようになる。
前回は、Javaの変数と識別子について学びました。
変数は、値を一時的に保存しておくためのしくみです。ドラゴンボール風にたとえるなら、変数は戦闘力、修行スコア、仲間の名前などをしまっておく エネルギーカプセル のようなものです。
ただし、Javaの変数は、何でも自由に入れられる万能カプセルではありません。
Javaでは、変数を使う前に、その変数へどのような種類の値を入れるのか を決めておく必要があります。
この「値の種類」を表すものが、データ型、または単に 型 です。
たとえば、整数を入れる変数、小数を入れる変数、1文字を入れる変数、true または false を入れる変数では、役割が違います。
ドラゴンボール風にたとえるなら、型は カプセルの専用タイプ です。
戦闘力を入れるカプセル。
距離を測るカプセル。
合図の1文字を入れるカプセル。
任務成功かどうかを示す判定札。
それぞれ、入れられるものが違います。
| Javaの考え方 | 役割 | ドラゴンボール風のたとえ |
|---|---|---|
| 変数 | 値を保存するしくみ | エネルギーカプセル |
| 識別子 | 変数につける名前 | カプセルの名前札 |
| データ型 | 入れられる値の種類を決める | カプセルの専用タイプ |
| 値 | 実際に保存されるデータ | 戦闘力、距離、合図、判定結果 |
| メモリ | 値を保存する場所 | 補給基地 |
データ型を理解すると、変数の意味がよりはっきり見えてきます。
変数は、ただ値を入れる箱ではありません。
どんな値を入れるための箱なのか が決まっている箱です。
整数を扱うのか。
小数を扱うのか。
文字を扱うのか。
true または false を扱うのか。
この区別が分かると、Javaのコードを読む力も、書く力も一段上がります。
型とは変数に入れる値の種類を決めるもの
型とは、変数にどのような種類の値を記憶させるのかを表すものです。
変数を箱やカプセルとして考えるなら、型は その箱が何専用なのかを決める札 です。
たとえば、次のようなイメージです。
| カプセルの種類 | Javaの型のイメージ | 入れられるもの |
|---|---|---|
| 敵の数を記録するカプセル | 整数型 | 1、10、100などの整数 |
| 距離や割合を記録するカプセル | 小数型 | 3.14、0.5などの小数 |
| 合図の1文字を入れるカプセル | char型 | 1文字 |
| 成功・失敗を示す判定札 | boolean型 | true または false |
このように、型があることで、Javaは「この変数にはどんな値を入れてよいのか」を判断できます。
たとえば、整数を入れる変数には整数を入れる。
小数を入れる変数には小数を入れる。
真偽値を入れる変数には true または false を入れる。
このように、変数ごとに扱う値の種類を整理できます。
ドラゴンボール風に言えば、戦闘力カプセルに仲間の名前を入れたり、合図札のケースに小数の距離を入れたりすると、管理が分かりにくくなります。
Javaでも同じです。
変数に入れる値の種類を先に決めておくことで、コードが安全で分かりやすくなります。
| 型を指定すると分かること | 内容 |
|---|---|
| 値の種類 | 整数、小数、文字、真偽値など |
| 値の範囲 | どこまで大きい数や小さい数を扱えるか |
| 必要なメモリ量 | 値を保存するためにどれくらいの領域を使うか |
| 変数の役割 | その変数が何を扱うためのものか |
型は、単なる分類ではありません。
Javaが値を正しく扱うための大切なルールです。
なぜ型を指定する必要があるのか
Javaでは、変数を使う前に型を指定します。
これは、Javaが値をあいまいに扱わず、はっきり区別して管理する言語だからです。
たとえば、ある変数が整数用なのか、小数用なのか、文字用なのか、真偽値用なのかが決まっていれば、Javaはその変数を安全に扱えます。
ドラゴンボール風に考えてみましょう。
出撃前に、戦士たちはカプセルを整理します。
| カプセル | 入れるもの |
|---|---|
| 仙豆カプセル | 仙豆の数 |
| 距離測定カプセル | 敵までの距離 |
| 合図カプセル | 1文字の合図 |
| 判定カプセル | 成功 true / 失敗 false |
このように役割が決まっていれば、任務中に迷わず使えます。
逆に、何でも同じカプセルに入れてしまうと、必要なものを取り出すときに混乱します。
Javaの型も同じです。
型を決めておくことで、Javaは次のようなことを判断できます。
| 判断できること | 内容 |
|---|---|
| 入れてよい値か | その型に合った値かどうか |
| 値の範囲は足りるか | その型で表せる範囲に収まるか |
| メモリをどれくらい使うか | 型ごとに必要なサイズが決まる |
| どんな処理に使えるか | 数値計算、判定、文字処理など |
たとえば、整数を扱う型に 3.14 のような小数を入れようとすると、Javaは「このカプセルには合わない値です」と判断できます。
これは、Javaが型によって値を厳密に管理しているからです。
この厳密さは、最初は少し面倒に感じるかもしれません。
でも、間違った種類の値を入れようとしたときに気づきやすくなるため、結果的に安全なプログラムを書きやすくなります。
図:データ型は変数カプセルの種類を決める

この図が示していること
この図は、データ型が変数に入れられる値の種類を決めていることを表しています。
整数型には整数、小数型には小数、char型には1文字、boolean型には true または false を入れる、というように、型によって扱える値が変わります。
この図から分かることは、変数は何でも入れられる箱ではなく、型によって役割が決まった専用カプセルのようなものだということです。
Javaの基本的なデータ型
Javaには、基本的なデータ型が用意されています。
代表的なものには、boolean、char、byte、short、int、long、float、double があります。
それぞれ、扱える値の種類、必要なメモリ量、表せる範囲が違います。
| 型 | 記憶できる値の範囲・内容 |
|---|---|
| boolean | true または false |
| char | 2バイト文字、\u0000〜\uffff |
| byte | 1バイト整数、-128〜127 |
| short | 2バイト整数、-32768〜32767 |
| int | 4バイト整数、-2147483648〜2147483647 |
| long | 8バイト整数、-9223372036854775808〜9223372036854775807 |
| float | 4バイト単精度浮動小数点数 |
| double | 8バイト倍精度浮動小数点数 |
この表を見ると、Javaでは値の種類ごとに型が分かれていることが分かります。
特に整数を扱う型だけでも、byte、short、int、long の4種類があります。
どれも整数を扱う型ですが、使うメモリ量や表せる範囲が違います。
ドラゴンボール風にたとえるなら、同じ「物資カプセル」でも、小型カプセル、中型カプセル、標準カプセル、大型カプセルがあるようなものです。
小さなカプセルは軽く扱えますが、入れられる量は少なめです。
大きなカプセルはたくさん入りますが、そのぶん場所を使います。
| 型のグループ | 代表例 | 扱うもの |
|---|---|---|
| 真偽値型 | boolean | true または false |
| 文字型 | char | 1文字 |
| 整数型 | byte、short、int、long | 整数 |
| 小数型 | float、double | 小数 |
まずは、Javaには値の種類に応じて複数の型があることを押さえておきましょう。
boolean型はtrueとfalseを表す型
boolean型は、true または false のどちらかを記憶する型です。
この型は、数を保存するための型ではありません。
条件が成り立つかどうか、処理が成功したかどうか、スイッチがオンかオフか、といった二択の状態を表すために使います。
ドラゴンボール風にたとえるなら、boolean型は 任務成功札 のようなものです。
成功しているなら true。
成功していないなら false。
| 状態 | boolean型のイメージ |
|---|---|
| 任務が成功した | true |
| 任務がまだ終わっていない | false |
| 扉が開いている | true |
| 扉が閉じている | false |
| 条件を満たしている | true |
| 条件を満たしていない | false |
boolean型で大切なのは、数値の大小を表す型ではないという点です。
100より大きい数を保存する型ではありません。
3.14を保存する型でもありません。
文字を入れる型でもありません。
あくまで、はい / いいえ、成立 / 不成立、成功 / 失敗 のような判断結果や状態を表すための型です。
今後、条件分岐を学ぶときに、boolean型の考え方はとても重要になります。
条件が成り立つかどうかを true または false で考えるからです。
char型は1文字を表す型
char型は、1文字を記憶するための型です。
ここで大切なのは、char型が扱うのは文字列ではなく、あくまで 1文字 だという点です。
たとえば、次のような値がchar型のイメージです。
'A'
'あ'
'7'
'技'| 値の見方 | Javaでの考え方 |
|---|---|
| 1文字 | char型で扱う |
| 複数の文字 | 文字列として扱う |
| 数字の見た目をした文字 | 計算用の数値とは別物 |
| 計算に使う数 | 数値型で扱う |
ドラゴンボール風にたとえるなら、char型は 一文字の合図札 です。
たとえば、技、勝、止、進 のような1文字の合図を入れるカプセルです。
ただし、複数の文字をまとめて入れるカプセルではありません。
たとえば、"Java" のような文字の並びはchar型ではなく、文字列として扱う内容です。
また、見た目が数字でも、文字としての数字と計算に使う数値は別です。
'3'
3| 書き方 | 意味 |
|---|---|
| '3' | 3という形をした文字 |
| 3 | 計算に使える数値 |
この区別は、Javaを学ぶうえでとても大切です。
同じ3に見えても、文字なのか数値なのかで扱いが変わります。
整数型は値の大きさに応じて使い分ける
Javaの整数型には、byte、short、int、long があります。
どれも整数を記憶するための型ですが、違いは主にサイズと記憶できる範囲です。
| 型 | サイズ | 記憶できる範囲の特徴 |
|---|---|---|
| byte | 1バイト | とても小さい整数範囲 |
| short | 2バイト | byteより広い整数範囲 |
| int | 4バイト | 一般的によく使う整数範囲 |
| long | 8バイト | 非常に大きな整数範囲 |
ドラゴンボール風にたとえるなら、整数型は 数を入れる物資カプセル です。
| カプセルの種類 | 整数型 | イメージ |
|---|---|---|
| 小さな携帯カプセル | byte | 小さい数を扱う |
| 中くらいのカプセル | short | 少し広い範囲の数を扱う |
| 標準の補給カプセル | int | よく使う整数を扱う |
| 大型の補給カプセル | long | とても大きな整数を扱う |
サイズが大きくなるほど、より大きな数や、より小さな負の数まで扱えるようになります。
初心者の段階では、まず次のように押さえておくとよいです。
整数型には複数の種類があり、それぞれ扱える範囲が違う。
どれも整数を扱う型ですが、同じものではありません。
short型を例に型の意味を考える
short型は、-32768〜32767 の範囲の整数を記憶できる型です。
つまり、この範囲に収まる整数であれば、short型の変数に入れられます。
たとえば、3 や 100 のような整数は、この範囲に収まるため、short型で扱えます。
一方で、short型は整数専用の型です。
そのため、3.14 のような小数を入れるための型ではありません。
また、50000 のように範囲を超える値も、short型には入りません。
| 値 | short型で扱えるか | 理由 |
|---|---|---|
| 3 | 扱える | 整数で、範囲内に収まる |
| 100 | 扱える | 整数で、範囲内に収まる |
| 3.14 | 扱えない | 小数なので整数型には合わない |
| 50000 | 扱えない | short型の範囲を超える |
ドラゴンボール風にたとえるなら、short型は 中くらいの整数専用カプセル です。
整数なら入れられます。
でも、小数という別種類の値は入りません。
さらに、カプセルの容量を超える大きな値も入りません。
ここが型の大切なところです。
型は、何を入れられるか だけでなく、何を入れられないか も決めています。
これにより、Javaは値を安全に扱えるようになっています。
図:short型は決められた範囲の整数を入れる箱

この図が示していること
この図は、short型の変数が、決められた範囲の整数だけを入れられる箱であることを示しています。
short型は整数を扱うための型です。
そのため、3 や 100 のような整数は入れられますが、3.14 のような小数は型に合いません。また、50000 のように範囲を超える値もshort型には入りません。
この図から分かることは、型を決めると、変数に入れられる値の種類と範囲が決まるということです。
変数は何でも入れられる箱ではなく、型に合った値だけを扱う箱です。
小数を扱う型はfloatとdouble
小数を扱うための型には、float と double があります。
float は4バイトの単精度浮動小数点数、double は8バイトの倍精度浮動小数点数を扱う型です。
ここで大切なのは、小数を扱う型は整数型とは別に用意されているという点です。
3.14 のように小数点を含む値は、short や int のような整数型ではなく、float や double のような小数用の型で扱います。
| 型 | サイズ | 役割 |
|---|---|---|
| float | 4バイト | 小数を扱う |
| double | 8バイト | より広い範囲や細かな小数を扱いやすい |
ドラゴンボール風にたとえるなら、整数型は 個数を数える記録札 です。
一方、小数型は 距離や割合を細かく測る測定スカウター のようなものです。
| 扱いたい値 | 向いている型 |
|---|---|
| 敵の数 | 整数型 |
| 仙豆の数 | 整数型 |
| 任務地点までの距離 | 小数型 |
| 割合や平均 | 小数型 |
| 修行タイム | 小数型が向く場合がある |
float と double はどちらも小数を扱いますが、サイズが違います。
一般的には、double のほうが多くのメモリを使い、より広い範囲や細かな表現に対応しやすくなります。
型を選ぶときは、整数か小数かだけでなく、どのくらいの大きさや精度が必要なのかも考えることが大切です。
型のサイズとはメモリの使用量を表すもの
型のサイズとは、その型の値を記憶するために必要なメモリ量のことです。
表に出てくる 1バイト、2バイト、4バイト、8バイト という数字は、値を保存するためにどれくらいのメモリ領域を使うのかを表しています。
ドラゴンボール風にたとえるなら、サイズは カプセルの大きさ です。
小さいカプセルは場所をあまり取りませんが、入れられる量は少なめです。
大きいカプセルは場所を多く使いますが、より多くの情報を入れられます。
| サイズ | 特徴 |
|---|---|
| 小さい | 使用するメモリは少ないが、表せる範囲は狭い |
| 大きい | 使用するメモリは多いが、表せる範囲は広い |
この関係を理解すると、なぜJavaに複数の整数型や小数型があるのかが見えてきます。
すべての整数を同じ型で扱うこともできそうに感じるかもしれません。
しかし、必要以上に大きな型を使うと、余分なメモリを使うことになります。
一方で、小さすぎる型を使うと、必要な値を表せないことがあります。
そのため、型は値の種類や範囲に合わせて選ぶことが大切です。
サイズが大きいほど表せる範囲は広くなる
一般的に、型のサイズが大きいほど、表せる値の範囲は広くなります。
byte は1バイトなので、表せる整数の範囲は小さめです。
short は2バイトなので、byteより広い範囲を扱えます。
int は4バイト、long は8バイトとなり、サイズが増えるほど扱える値の範囲も広がります。
| 整数型 | サイズ | 範囲の広さ |
|---|---|---|
| byte | 1バイト | 狭い |
| short | 2バイト | やや広い |
| int | 4バイト | 広い |
| long | 8バイト | とても広い |
小数型でも同じように、double は float より大きなサイズを使います。
そのため、より広い範囲や細かな表現に対応しやすくなります。
ただし、サイズが大きければ常に一番よい、というわけではありません。
| 考え方 | 内容 |
|---|---|
| 大きな型 | 広い範囲を扱えるが、メモリを多く使う |
| 小さな型 | メモリを節約できるが、扱える範囲が狭い |
| 適切な型 | 扱いたい値に合った型を選ぶ |
Javaでは、値の種類と範囲を考えて、適切な型を選ぶことが基本です。
ドラゴンボール風に言えば、小さな任務に巨大な補給カプセルを持っていくと重すぎます。
逆に、大きな任務なのに小さなカプセルしか持っていないと、必要な物資が入りません。
必要な値に合った型を選ぶことが大切です。
図:型のサイズと表せる範囲の関係

この図が示していること
この図は、整数型のサイズが大きくなるほど、表せる値の範囲が広がることを示しています。
byte、short、int、long はどれも整数型ですが、使うメモリ量が違います。
サイズが大きい型ほど、より大きな数や、より小さな負の数まで扱えるようになります。
この図から分かることは、型にはサイズがあり、サイズは値の表現力と関係しているということです。
小さい型はメモリを少なく使えますが、表せる範囲は狭くなります。大きい型は広い範囲を扱えますが、そのぶん多くのメモリを使います。
型は変数の性格を決める
型は、変数の性格を決めるものです。
その変数は整数を入れるためのものなのか。
小数を入れるためのものなのか。
1文字を入れるためのものなのか。
true または false を入れるためのものなのか。
型を見れば、その変数がどのような値を扱うためのものなのかが分かります。
| 型 | 変数の性格 |
|---|---|
| boolean | 判断結果や状態を扱う |
| char | 1文字を扱う |
| byte、short、int、long | 整数を扱う |
| float、double | 小数を扱う |
変数名は、その変数が何を表すのかを示します。
一方、型は、その変数にどんな種類の値を入れるのかを示します。
| 見るポイント | 分かること |
|---|---|
| 変数名 | 何のための値か |
| 型 | どんな種類の値か |
| サイズ | どれくらいの範囲を扱えるか |
この3つを意識すると、変数の意味がかなり読み取りやすくなります。
たとえば、変数名が score なら、得点のような値を表していそうです。
型が int なら、整数として扱う得点だと分かります。
型が double なら、小数を含む平均点や割合のような値かもしれません。
このように、変数名と型をセットで見ると、コードの意味がぐっと見えやすくなります。
型を学ぶと変数の理解が深まる
変数は、値を入れる箱のようなものです。
しかし、型を学ぶと、その箱には 入れられるものに決まりがある ことが分かります。
何でも入る箱ではなく、整数専用、小数専用、文字専用、真偽値専用のように、それぞれ役割が決まっています。
| 箱の種類 | Javaの型 | 入れられる値 |
|---|---|---|
| 真偽値の箱 | boolean | true または false |
| 文字の箱 | char | 1文字 |
| 整数の箱 | byte、short、int、long | 整数 |
| 小数の箱 | float、double | 小数 |
この考え方が分かると、これから学ぶ 変数の宣言、代入、初期化 も理解しやすくなります。
なぜ変数を使う前に型を書くのか。
なぜ入れられる値に制限があるのか。
なぜ整数と小数を区別する必要があるのか。
こうした疑問が、型の考え方によってつながっていきます。
データ型は、最初は表や数字が多くて少し難しく見えるかもしれません。
でも、基本はとても素直です。
| 流れ | 内容 |
|---|---|
| 1 | 扱いたい値が何なのかを考える |
| 2 | その値に合った型を選ぶ |
| 3 | 型に合った値を変数に入れる |
ドラゴンボール風に言えば、任務に必要な道具を見極めて、それに合うカプセルを選ぶ修行です。
敵の数なら整数カプセル。
距離や割合なら小数カプセル。
合図の1文字ならcharカプセル。
成功・失敗ならboolean札。
目的に合った型を選ぶことで、Javaの処理は分かりやすく、安全になります。
データ型を学んだ先に見えてくること
データ型を理解すると、Javaの変数がより具体的に見えてきます。
変数は単に値を覚えるだけのものではありません。
型によって、扱う値の種類が決められています。
このしくみによって、Javaは値を整理し、間違いを防ぎながら処理を進められます。
型を意識できるようになると、変数を見る目が変わります。
| 確認すること | 意味 |
|---|---|
| この変数には何が入るのか | 値の種類を考える |
| この型で十分な範囲を扱えるのか | サイズと範囲を考える |
| 整数なのか、小数なのか | 数値の種類を考える |
| 状態を表したいのか、文字を表したいのか | booleanやcharを考える |
| 変数名と型は合っているか | コードの意味を確認する |
Javaでは、型を正しく選ぶことで、値を安全に扱いやすくなります。
最初は、boolean、char、byte、short、int、long、float、double という名前が多く見えて、少し圧倒されるかもしれません。
でも、整理すると大きくは次のように考えられます。
| 大きな分類 | 型 |
|---|---|
| 真偽値 | boolean |
| 文字 | char |
| 整数 | byte、short、int、long |
| 小数 | float、double |
まずは、この大きな分類を押さえることが大切です。
そして次に、サイズや範囲の違いを少しずつ見ていきましょう。
データ型は、Javaで値を正しく扱うための土台です。
変数、型、値の関係をしっかりつかむことで、この先の宣言、代入、初期化、計算、条件分岐の理解につながっていきます。
