Java入門 #3 - 変数とデータ型

入門 | 10分 で読める | 2026.05.02

公式ドキュメント

この記事の要点

• 変数は型名 変数名 = 値;の順で宣言
• プリミティブ型は8種類(int, double, boolean など)
• Java 10 以降は var で型推論が可能

このシリーズについて

「Java入門」シリーズ第3回。Hello World を動かしたので、次はデータを扱う基本を学びます。

前提条件: Java入門 #2 - 最初のプログラム(Hello World) が完了し、System.out.println で文字列を出力できる。

変数とは

変数はデータを一時的に保存する箱です。以下のようなイメージで考えてください。

概念現実の例Javaでの例
変数ラベル付きの箱age(年齢を入れる箱)
箱に入れる中身25
箱のサイズ・種類int(整数型)

Javaは静的型付け言語なので、変数を作るときに「この箱には何を入れるか」を事前に宣言します。

変数宣言の基本構文

型名 変数名 =;

具体例:

// Java 21 で動作確認済み
int age = 25;              // 整数
double price = 1980.5;     // 小数
String name = "太郎";      // 文字列
boolean isActive = true;   // 真偽値

ポイント: 変数名はキャメルケース(先頭小文字、以降の単語は大文字開始)が慣例です。`userName`、`maxCount` のように書きます。

プリミティブ型(基本型)

Javaには8つのプリミティブ型があります。数値、文字、真偽値を表現します。

型名分類サイズ(ビット)範囲 / 内容デフォルト値
byte整数8-128 ~ 1270
short整数16-32,768 ~ 32,7670
int整数32約 -21億 ~ 21億0
long整数64約 -922京 ~ 922京0L
float小数32単精度浮動小数点0.0f
double小数64倍精度浮動小数点0.0d
char文字161文字(Unicodeコードポイント)'�'
boolean真偽値true または falsefalse

使い分けの目安

用途推奨型理由
普通の整数int最も頻繁に使う。範囲も十分
とても大きい整数longタイムスタンプ、IDなど
小数doublefloat より精度が高い
真偽値booleanフラグ、条件判定
1文字charあまり使わない
メモリ節約byte, short配列を大量に扱う場合のみ

TIPS: 迷ったらint と doubleだけ覚えてください。この2つで大半のケースをカバーできます。

変数宣言の実例

// Java 21 で動作確認済み
public class VariableExample {
    public static void main(String[] args) {
        // 整数
        int count = 10;
        long population = 125000000L;  // Lサフィックスを付ける
        
        // 小数
        double temperature = 36.5;
        float ratio = 0.75f;           // fサフィックスを付ける
        
        // 文字
        char grade = 'A';              // シングルクォートで囲む
        
        // 真偽値
        boolean isPassed = true;
        
        // 出力
        System.out.println("Count: " + count);
        System.out.println("Temperature: " + temperature);
        System.out.println("Grade: " + grade);
        System.out.println("Passed: " + isPassed);
    }
}

注意: `long` 型のリテラルには L、`float` 型には f を末尾に付けます。付けないと型エラーになります。

参照型(軽く知る)

プリミティブ型以外は参照型です。代表例は String(文字列)です。

String message = "Hello";
プリミティブ型参照型
値そのものを保持値の「場所」を保持
小文字で始まる(int, double大文字で始まる(String, Integer
null を代入できないnull を代入できる

参照型の詳細は「クラスとオブジェクト」の回で学ぶので、今は「String は特別な型」と覚えておけばOKです。

var キーワード(型推論)

Java 10 以降、var を使うと型名を省略できます。右辺から型を推論してくれます。

var age = 25;              // int と推論される
var price = 1980.5;        // double と推論される
var name = "太郎";          // String と推論される
var isActive = true;       // boolean と推論される
メリットデメリット
タイプ量が減る初見で型が分かりにくい
リファクタリングが楽推論結果が直感と違うことがある

ポイント: 学習段階では明示的に型を書く方がおすすめです。型を意識することで理解が深まります。慣れたら `var` を使いましょう。

リテラル(値の書き方)

リテラルはコード中に直接書く値のことです。

リテラルの例補足
int10, -5, 0普通に書く
long1000L, -999L末尾に L
double3.14, -0.5小数点を含む
float3.14f, 0.5f末尾に f
booleantrue, false小文字で書く
char'A', 'あ', '\n'シングルクォート
String"Hello", "こんにちは"ダブルクォート

数値リテラルの読みやすい書き方(Java 7以降)

大きな数字はアンダースコア _ で区切れます。

int million = 1_000_000;        // 1,000,000
long gdp = 550_000_000_000L;    // 5500億

変数の初期化と再代入

// 宣言と初期化を同時に
int x = 10;

// 宣言だけ(初期化は後で)
int y;
y = 20;  // 初期化

// 再代入
x = 30;  // 型名は書かない

注意: 初期化していない変数をそのまま使うとコンパイルエラーになります。必ず値を入れてから使いましょう。

型変換(キャスト)

小さい型から大きい型への変換は自動で行われます(暗黙的キャスト)。

int a = 10;
long b = a;  // int → long は自動OK

逆に大きい型から小さい型への変換は明示的にキャストが必要です。

long x = 100L;
int y = (int) x;  // 明示的にキャスト
変換方向方法注意点
小 → 大自動データ損失なし
大 → 小明示的キャスト値が範囲外なら切り捨て
小数 → 整数明示的キャスト小数部分が切り捨て

定数(final)

値を変更したくない場合は final を付けます。

final int MAX_COUNT = 100;
// MAX_COUNT = 200;  // コンパイルエラー

慣例として、定数名はすべて大文字 + アンダースコアで書きます(MAX_VALUE, DEFAULT_SIZE など)。

よくある間違い

間違い理由正しい書き方
int x;System.out.println(x);初期化していないint x = 0;
String name = 'Taro';シングルクォートは charString name = "Taro";
int y = 3.14;doubleint に入れているdouble y = 3.14;
long z = 1000000000000;L が付いていないlong z = 1000000000000L;

チェックリスト

次に進む前に、以下を確認してください。

  • 変数宣言の構文 型名 変数名 = 値; を理解した
  • プリミティブ型8種のうち、int, double, boolean を使えるようになった
  • String は参照型であることを知った
  • var で型推論ができることを知った(使うのは慣れてから)

次のステップ

Java入門 #4 - 演算子(算術・比較・論理) で、変数を使った計算や条件判定の方法を学びます。

参考リソース

この技術を体系的に学びたいですか?

未来学では東証プライム上場企業のITエンジニアが24時間サポート。月額24,800円から、退会金0円のオンラインIT塾です。

メールで無料相談する
← 一覧に戻る