Java | 基本のデータ型

Java Java
スポンサーリンク

ざっくり要点

  • 変数は「データを入れる箱」。箱ごとに入れられるもの(型)が決まっている。
  • Java の基本データ型(プリミティブ型)は主に 整数・小数・文字・真偽(真/偽) の4グループ。
  • 普段よく使うのは int(整数)、double(小数)、char(1文字)、boolean(true/false)。まずはこれらを覚えよう。

各型をやさしく説明(例つき)

1) 整数型:byte, short, int, long

  • 何を入れる? 小数点なしの数(例:100, -5
  • よく使うのは int:普通の整数は int でOK。
  • long は大きな整数用:末尾に L を付ける(例:12345678910L)。
  • 範囲(目安)
    • byte: -128 ~ 127
    • short: -32768 ~ 32767
    • int: -2,147,483,648 ~ 2,147,483,647
    • long: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

例:int と long

int a = 100;
long b = 12345678910L;
System.out.println(a); // => 100
System.out.println(b); // => 12345678910
Java

注意(オーバーフロー)int の限界を超えると数値がぐちゃっと変わります(例を後述)。


2) 浮動小数点型:float, double

  • 何を入れる? 小数(例:3.14
  • デフォルトは double:小数リテラルは自動で double と見なされる。
  • float を使うとき は末尾に F を付ける(例:3.14F)。付けないとコンパイルエラーになる。
  • 精度の目安float は約7桁、double は約15桁の有効桁数(おおよそ)。

例:double と float

double d = 3.141592653589793;
float f = 3.14F;
System.out.println(d); // => 3.141592653589793
System.out.println(f); // => 3.14
Java

注意(丸め誤差):小数計算は厳密にならないことがある(0.1+0.2 が 0.30000000000000004 になるような現象)。


3) 文字型:char

  • 何を入れる? ひとつの「文字」(例:'a', 'あ', '花'
  • Java の char は Unicode(16ビット)を扱えるので日本語の1文字もOK。
  • 文字はシングルクォート ' ' で囲む(ダブルクォートは String 用)。

例:文字と数値の関係

char c = 'A';
System.out.println(c);     // => A
System.out.println((int)c);// => 65   (A の Unicode/ASCII コード)
Java

char は内部的には数字なので、数値にキャストできる(文字コードを見るときに使う)。


4) 真偽型:boolean

  • 何を入れる? true または false の二択だけ。
  • 条件(if文)やフラグ(処理するかどうか)でよく使う。

例:

boolean flag = true;
if (flag) {
  System.out.println("処理を実行します");
} else {
  System.out.println("処理をスキップします");
}
Java

基本的な操作例(足し算・文字結合・比較など)

足し算(整数)

int x = 5;
int y = 7;
System.out.println(x + y); // => 12
Java

小数の計算

double p = 1.2;
double q = 2.3;
System.out.println(p + q); // => 3.5(ただし表示上は 3.5 でも内部では微小な誤差あり)
Java

文字列結合(+ は文字列連結にも使える)

int n = 10;
System.out.println("n=" + n); // => n=10
Java

比較(真偽値)

int a = 3;
int b = 5;
boolean result = (a < b);
System.out.println(result); // => true
Java

型変換(キャスト)と注意点

  • 自動変換(安全):小さい型 → 大きい型は自動で変わる(例:intlong)。
  • 強制変換(キャスト):大きい型 → 小さい型は明示的にキャストが必要で、情報が切り捨てられることがある。
    例:double d = 3.9; int i = (int)d; // i は 3 になる(小数部切り捨て)

例:キャスト

double d = 3.9;
int i = (int)d;
System.out.println(i); // => 3
Java

よくある初心者ミスとその対処

  1. 小数リテラルの型ミス(float に代入) float f = 3.14; // コンパイルエラー(3.14 は double とみなされる) float f2 = 3.14F; // OK
  2. long リテラルに L を付け忘れる long big = 12345678910; // コンパイルエラー(リテラルが int と見なされ範囲外) long big2 = 12345678910L; // OK
  3. char をダブルクォートで囲んでしまう(String と混同) char c = "a"; // コンパイルエラー char c2 = 'a'; // OK
  4. 整数のオーバーフロー
    int の最大値を越えると負の値にぐるっと回る(オーバーフロー)。 int v = 2147483647; // int の最大 System.out.println(v + 1); // => -2147483648 (オーバーフロー) → 大きな数を扱うなら long を使う。

実践例:小さなプログラム(説明つき)

class Example {
  public static void main(String[] args) {
    int apples = 3;               // 整数
    double price = 120.5;         // 小数(1個あたりの価格)
    double total = apples * price;// 計算(int と double の混在は double に昇格)
    char mark = '★';              // 1文字(評価マーク)
    boolean inStock = true;       // 在庫フラグ

    System.out.println("個数: " + apples);        // 3
    System.out.println("単価: " + price);        // 120.5
    System.out.println("合計: " + total);        // 361.5
    System.out.println("マーク: " + mark);       // ★
    System.out.println("在庫あり? " + inStock);  // true
  }
}
Java
  • apples * price では apples(int)が double に自動変換され、double として計算される。

練習(ミニ問題) — 手を動かして確かめよう(解答は下に)

  1. int 型の変数 a10b3 を入れて a / ba % b を表示してみよう。
  2. double 型で 0.1 + 0.2 を計算して結果を表示してみよう。何が出る?
  3. char'あ' を入れて、その数値((int)char)を表示してみよう。
  4. long10000000000 を代入して表示してみよう(ヒント:末尾に何を付ける?)。
  5. float1.23456789F を入れて表示してみよう。精度はどうなる?

(解答)

  1. a / b は 3(整数除算で小数は切り捨て)、a % b は 1(余り)。
  2. 多くの環境で 0.30000000000000004 のように表示される(丸め誤差)。
  3. 'あ' のコードポイント(例:12354 など。環境の Unicode 表示を確認)。
  4. long x = 10000000000L;(末尾に L を付ける)。
  5. float は約7桁の精度なので 1.2345679 のように丸められることがある。

まとめ(初心者が今日覚えること)

  • まずは int, double, char, boolean を使えるようにする。
  • 小数は double を基本に、float を使うときは F を付けること。
  • long のリテラルには L を付ける。
  • 文字は ' '(シングルクォート)、文字列は "(ダブルクォート)。
  • 実際に手を動かして、サンプルを打ち込んで実行してみるのが一番理解が早い。
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました