要点まとめ
Javaの基本データ型まとめ
Javaには「基本データ型」と呼ばれる、あらかじめ用意されたデータの種類があります。
変数を使うときは「どんな種類のデータを入れるか」を決める必要があります。
整数を扱う型
- byte : -128 ~ 127(とても小さい整数)
- short : -32,768 ~ 32,767(小さめの整数)
- int : -2,147,483,648 ~ 2,147,483,647(よく使う標準的な整数)
- long : さらに大きな整数(末尾に
Lをつけて書く)
👉 基本的には int を使い、すごく大きな数が必要なときだけ long を使う。
小数を扱う型
- float : 単精度(小数点あり、末尾に
Fをつける) - double : 倍精度(より正確な小数、デフォルトはこちら)
👉 小数は基本的に double を使う。
文字を扱う型
- char : 1文字を扱う(例:
'a','花')
→ シングルクォート' 'で囲む。
真偽値を扱う型
- boolean :
trueまたはfalseの2種類だけ。
基本型と参照型の違い
- 基本型 : 値そのものを変数に入れる(上で紹介した型)。
- 参照型 : 配列や文字列(
String)など。変数には「データがある場所のアドレス」が入る。
各型の特徴と使いどころ
もう少し詳しく、「どの型がどういう特徴か」「いつ使うか」を初心者むけに説明します。
整数型(byte / short / int / long)
- Javaでは「整数を扱う型」が複数あり、扱える数字の範囲がそれぞれ異なります。
- 通常、整数を扱うなら
int型を使うのが基本です。なぜかと言うと、intが一般的で処理速度・可読性の点からバランスが良いからです。 - ただし、非常に大きな整数(
intの範囲を超える)が必要なときにはlong型を使います。long型のリテラル(数値そのもの)を記述するときは末尾にL(またはl)を付ける必要があります。 byteやshort型は「数値の範囲が小さい」「使える場面が限られる」ため、初心者がまず使う機会は少ないですが、メモリや特別な用途のために存在します。
浮動小数点型(float / double)
- 小数を扱う型として
float(32ビット)とdouble(64ビット)があります。 - デフォルトでは「3.14」など小数をそのまま書くと
double型として扱われます。なのでdouble型の変数にはそのまま割り当て可能です。 float型を使いたい場合は、数値リテラルの末尾にFまたはfを付ける必要があります。例:3.14F。付けないとコンパイルエラーになります。
文字型(char)
char型は「1文字」を扱うための型で、16ビットの Unicode の文字を扱えます。例えば'a'、'花'、'\uXXXX'のような文字コード記述も可能です。- 実際には文字コード(数値)を格納しているので、「文字」そのものを扱う型ですが、数値としての側面もあります。ただし「ただ数値を扱いたくて
charを使う」…というのは通常望ましくありません。用途は「”文字”を扱いたいとき」です。
論理型(boolean)
boolean型は「真/偽」の2つの値しか持ちません。trueかfalse。- プログラムの中で「条件が成り立つかどうか」「この操作が成功したかどうか」などを扱うのに使われます。
基本型と参照型の違い
- Javaには基本データ型(上記のプリミティブ型)と、参照型という型のカテゴリーがあります。参照型には文字列型(
String)・配列・クラス・インターフェースなどが含まれます。 - 違いのポイント:
- 基本型変数には「値そのもの」が入ります。
- 参照型変数には「値ではなく、その値が格納されている場所を指す参照(アドレス)」が入ります。つまり「実際のデータが格納されているところ」を指すようなものです。
- この概念は初心者には少し抽象的かもしれませんが、覚えておくと後でクラス・オブジェクト・配列などを学んだときに役立ちます。
サンプルコード
class Sample {
public static void main(String[] args) {
int n = 100;
long l = 12345678910L;
double d = 3.145;
float f = 3.145F;
char c = '本';
boolean b = true;
System.out.println("n=" + n);
System.out.println("l=" + l);
System.out.println("d=" + d);
System.out.println("f=" + f);
System.out.println("c=" + c);
System.out.println("b=" + b);
}
}
Javaこのコードのポイント:
int n = 100;→ 整数型intを使って変数nに 100 を入れている。long l = 12345678910L;→ 非常に大きな整数なのでlong型にして末尾にLを付けている。double d = 3.145;→ 小数点を扱うdouble型にしている。float f = 3.145F;→float型を使うために末尾にFを付けて宣言。char c = '本';→ 1文字(この場合「本」)をchar型に。boolean b = true;→ 真偽値をboolean型に。- それぞれ
System.out.println(...)で画面に変数の中身を表示している。
ポイントまとめ
- 整数は基本 int、小数は基本 double を使う。
LやFをつけるのは「long」や「float」を明示するため。- 文字は
' '、文字列は" "で書く。 booleanは条件分岐(if文など)でよく使う。
こうして見ると、Javaの基本データ型は「数値(整数・小数)」「文字」「真偽値」の3グループに分けて覚えるとスッキリしますね。
👉 次のステップとしては「変数と型を組み合わせてif文やfor文で使う」練習をすると理解が深まります。
Javaの基本データ型の考え方
初めてでもわかるように、「何を表す型なのか」「どう書くのか」「よくあるつまずき」をセットで解説します。型は「その変数に入るデータの種類」を決める約束事です。まずは迷ったら何を使うのか、使い分けのコツから掴みましょう。
よく使う型の使い分け
- 整数(int/long): 数えられるもの。年齢、個数、IDなど。基本は int。とても大きい数が必要なら long。
- 小数(double/float): 途中に小数点が入るもの。価格、平均値など。基本は double。
- 文字(char): 1文字だけ。例: ‘A’、’花’。英数字だけでなく日本語の1文字もOK。
- 真偽(boolean): 「はい/いいえ」を表す。true か false のどちらか。
迷ったら「整数→int」「小数→double」「真偽→boolean」から始めれば大丈夫です。
それぞれの型を、例題で理解する
整数型(int / long)
int apples = 12; // りんごが12個
long population = 140000000L; // 人口のような超大きい数は long。末尾に L が必要
Java- ポイント:
- 基本は int を使う。 数が爆発的に大きい(桁が多い)なら long。
- long の数値リテラルは末尾に L。 つけないと int とみなされてエラーや桁あふれの原因に。
- 例題:
- ラーメン屋の今日の来客数 → int
- 世界の総人口 → long(数が int の範囲を超えるため)
小数型(double / float)
double price = 980.5; // 価格などは double が基本
float rate = 0.75F; // float を使うなら末尾に F が必要
Java- ポイント:
- double が標準。 計算の精度が高く、多くの場面で向いています。
- float を使うなら F を付ける。 付けないと double とみなされ、代入でエラーになります。
- 例題:
- テストの平均点 78.6 点 → double
- ゲームのキャラ速度(軽量データ) → float(ただし初心者はまず double でOK)
文字型(char)と文字列(String)
char grade = 'A'; // 1文字。必ずシングルクォート ' '
char kanji = '花';
String name = "Tanaka"; // 複数文字は String。ダブルクォート " "
Java- ポイント:
- char は1文字だけ。 ‘AB’ は2文字なので間違い。
- 複数文字や文章は String を使う。 文字列連結や表示に便利。
- 例題:
- 性別コードを1文字で管理(’M’ / ‘F’) → char
- 氏名やメール文面 → String
真偽型(boolean)
boolean isLoggedIn = true; // ログインしているか
boolean hasCoupon = false; // クーポンを持っているか
Java- ポイント:
- 条件分岐と相性抜群。 if, while でよく使う。
- true / false しかない。 「はい/いいえ」をスッキリ表現。
- 例題:
- 在庫ありか? → boolean
- 年齢が20歳以上か? → 条件式(age >= 20)の結果は boolean
よくあるつまずきと回避テク
- 整数と小数の区別:
- ラベル: どちらを使う?
- 説明: 12 は整数、12.0 は小数。小数が1つでも含まれるなら double で。
- リテラルの末尾 L / F:
- ラベル: 付け忘れ注意
- 説明: long には L、float には F。付けないと別の型とみなされます。
- 文字と文字列のクォート:
- ラベル: ‘ と ” の違い
- 説明: char は ‘A’ のようにシングルクォート。String は “Hello” のようにダブルクォート。
- 桁あふれ(オーバーフロー):
- ラベル: 大きすぎる数
- 説明: int の範囲外の数は long を使う。範囲に不安があれば long を選ぶ。
まとまったサンプルと出力
class BasicTypesSample {
public static void main(String[] args) {
int count = 42;
long distance = 1234567890123L;
double average = 86.75;
float taxRate = 0.1F;
char initial = 'T';
String title = "Java入門";
boolean isMember = true;
System.out.println("count = " + count);
System.out.println("distance = " + distance);
System.out.println("average = " + average);
System.out.println("taxRate = " + taxRate);
System.out.println("initial = " + initial);
System.out.println("title = " + title);
System.out.println("isMember = " + isMember);
}
}
Javaその場で解ける例題(解答付き)
例題1:型を選ぶ
- 問題: 次のデータに合う型を選んでください。
- 年齢 27
- 消費税率 0.1
- 会員かどうか(はい/いいえ)
- クラスの評価 ‘A’
- 総再生回数 5,000,000,000
- 解答:
- 年齢: int
- 消費税率: double
- 会員かどうか: boolean
- クラスの評価: char
- 総再生回数: long(とても大きい数なので)
例題2:正しいリテラルに直す
- 問題: 次のコードの間違いを直してください。
long big = 3000000000; // エラー float rate = 0.25; // エラー char two = "AB"; // エラー - 解答:
long big = 3000000000L; // long は L を付ける float rate = 0.25F; // float は F を付ける(付けないと double) char two = 'A'; // char は1文字のみ。2文字なら String: "AB"
例題3:if文で boolean を使う
int age = 19;
boolean canDrink = age >= 20; // 日本の飲酒可能年齢
if (canDrink) {
System.out.println("飲酒可");
} else {
System.out.println("飲酒不可");
}
Java- ポイント:
- 条件式の結果は boolean。 そのまま if に渡せます。
- 比較演算子: ==, !=, >, >=, <, <= を使います。
次の一歩(練習メニュー)
- 型を意識した変数宣言:
- 1日の歩数、睡眠時間(小数)、ニックネーム、通知のON/OFF をそれぞれ適切な型で宣言してみる。
- 型変換に触れる:
- int と double を混ぜた計算の結果は double になることを確認。
- 必要なら
(int) 3.9のようなキャストで整数に切り捨てできる。
- 入出力で試す:
- System.out.println で値を表示し、足し算・比較をして結果がどう変わるか見る。
