本文へスキップ
T2R tech2rich.com
プログラミング 🔤 Java 📚 Java入門 第2回 #Java #入門 #プログラミング初心者 #変数

【Java入門 第2回】変数とデータ型 — int, double, boolean, String

Java の変数の宣言・代入の方法と、よく使うデータ型(int, double, boolean, String)について、プログラミング完全初心者向けに具体例を交えて解説します。

📅 公開: 2026.05.02 ⏱ 読了 約7分 ✍ 管理人

第1回では、「Hello, World!」を表示するプログラムを書きました。 今回は、プログラミングの最重要要素である 「変数」「データ型」 について学びます。

「変数って何?」「int と String って何が違うの?」といった疑問にお答えしていきますね。

先輩

この記事のゴール

「変数の概念」「int / double / boolean / String の使い分け」「変数の命名ルール」を理解し、自分でデータを保存できる状態になることです。

変数とは「データに名前を付けた箱」

変数(へんすう) とは、プログラムの中で データを一時的に保管する箱 のようなものです。 箱には名前を付けることができ、その名前を使ってあとから箱の中身を取り出したり、書き換えたりできます。

たとえば、料理を作るときに「砂糖の量」をメモしたいとしたら…

箱の名前(変数名)中身(値)
sugarGrams30
userName"佐藤"
isFinishedtrue

このように、「名前」と「値」のペアで覚えておくのが変数のイメージです。

変数の宣言と代入

Java で変数を使うには、まず 宣言 が必要です。

int sugarGrams; // 変数の宣言
sugarGrams = 30; // 値の代入

宣言と代入を 1行にまとめる こともできます。こちらのほうがよく使われます。

int sugarGrams = 30;

試してみよう

第1回 と同じ要領で、Variables.java を作って実行してみましょう。

public class Variables {
    public static void main(String[] args) {
        // int 型(整数)の変数 sugarGrams を作り、30 を代入
        int sugarGrams = 30;

        // 文字列と変数を「+」で連結して表示
        // (Java の「+」は数値同士なら足し算、文字列が混ざると連結になる)
        System.out.println("砂糖の量: " + sugarGrams + "g");
    }
}

実行結果:

砂糖の量: 30g

文字列と変数を + で連結できるのがポイントです。

データ型とは「箱の種類」

Java では、変数を作るときに 「どんな種類のデータを入れる箱なのか」 を必ず指定します。これが データ型(型) です。

なぜ型が必要かというと、

特に3つ目が大事で、Java は「型のミスをコンパイル段階で見つけてくれる」ため、初心者がうっかり大きなバグを残すことを防いでくれます。

よく使うデータ型 4 つ

Java にはたくさんのデータ型がありますが、まずは この4つ を覚えれば実用上は十分です。

1. int — 整数

-2,147,483,648 から 2,147,483,647 までの 整数 を扱います。

int age = 25;              // 年齢を表す int(プラスの整数)
int score = -10;           // 整数はマイナスも OK
int total = 100 + 200;     // 右辺で計算してから total に代入される
System.out.println(total); // コンソールに total の中身(300)を表示 → 300

2. double — 小数

小数(浮動小数点数) を扱います。

double pi = 3.14;
double height = 172.5;
double price = 1000 * 1.10;  // 消費税込み
System.out.println(price); // → 1100.0

💡 「小数を使うかも?」と思ったら、迷わず double を選ぶのが無難です。

3. boolean — 真偽値

真(true) または 偽(false) のどちらかしか入らない型です。

boolean isAdult = true;
boolean isRaining = false;
System.out.println(isAdult); // → true

「YES / NO」「ON / OFF」のような 2 択の状態 を表すのに使います。

4. String — 文字列

文字の並び(文字列) を扱います。 他の3つと違って S が大文字 であることに注意してください。

String name = "佐藤";                                 // 文字列はダブルクォーテーション " " で囲む
String greeting = "こんにちは、" + name + "さん!";   // + で文字列を連結
System.out.println(greeting);                         // → こんにちは、佐藤さん!

文字列は ダブルクォーテーション (") で囲みます。 シングルクォーテーション (') は別の意味(後述する char 型)になるので注意。

変数命名の3つのルール

  1. 半角英数字とアンダースコア (_) のみ(数字で始めるのはNG)
  2. camelCase(キャメルケース)で書く が慣習: 例 userNamemaxScore
  3. 意味のある名前 を付ける: a ではなく age のように
// ❌ 悪い例
int a = 25;
int 1stName;

// ✅ 良い例
int age = 25;
String firstName = "Taro";

定数 (final) — 値が変わらないことを明示する

「値を変更しない」と最初から決まっている場合は、final キーワードを付けて 定数 にできます。

final double TAX_RATE = 0.10;
final int MAX_RETRY = 3;

TAX_RATE = 0.08; // ❌ コンパイルエラー(定数を再代入できない)

定数名は すべて大文字 + アンダースコア区切り で書くのが慣習です(例: TAX_RATE)。

💡 後から変更してほしくない値には積極的に final を付けると、バグを防げます。

var で型を省略する(Java 10 以降)

Java 10 から、型を var と書いて自動推論させる こともできるようになりました。

var age = 25;          // int として扱われる
var name = "佐藤";      // String として扱われる
var pi = 3.14;          // double として扱われる

ただし、varメソッド内のローカル変数限定 で使えます。 本連載ではしばらく var は使わず、明示的な型を書いていきます(初心者のうちは型を書いた方が理解しやすいため)。

ハマりがちなエラー TOP3

エラー① 型が違う値を代入する

int n = "hello";  // ❌ String を int に入れられない

対処: 変数の型に合った値を代入する。Java は型に厳格な言語です。

エラー② 文字列を ' で囲む

String name = '佐藤';  // ❌ シングルクォーテーションは char 用
String name = "佐藤";  // ⭕ 文字列はダブルクォーテーション

エラー③ 変数を初期化せずに使う

int x;
System.out.println(x);  // ❌ ローカル変数 x が初期化されていない

対処: 使う前に必ず代入する。int x = 0; のように初期値を入れるのが安全です。

編集部より

編集部からのポイント

Java で覚えるべき型は実はそんなに多くありません。「整数なら int、小数なら double、文字列なら String、Yes/No なら boolean」。この 4 つを押さえれば、ほとんどのケースに対応できます。

練習問題

以下のプログラムを書いてみましょう。

あなたの 名前・年齢・身長 を変数に格納し、1行ずつコンソールに表示するプログラム。

解答例

public class Profile {
    public static void main(String[] args) {
        // 3 種類の型を使ってプロフィール情報を保存
        String name = "佐藤 太郎";    // String 型: 文字列
        int age = 28;                  // int 型: 整数
        double height = 172.5;         // double 型: 小数

        // それぞれの情報を 1 行ずつコンソールに出力
        System.out.println("名前: " + name);
        System.out.println("年齢: " + age + "歳");
        System.out.println("身長: " + height + "cm");
    }
}

実行結果:

名前: 佐藤 太郎
年齢: 28歳
身長: 172.5cm

まとめ

第2回では、以下を学びました。

次回は、「もし◯◯なら××する」 という条件分岐を実現する if 文・switch を学びます。 プログラムが「考える」最初のステップです。お楽しみに!

関連の技術記事