第1回では、「Hello, World!」を表示するプログラムを書きました。 今回は、プログラミングの最重要要素である 「変数」 と 「データ型」 について学びます。
「変数って何?」「int と String って何が違うの?」といった疑問にお答えしていきますね。
変数とは「データに名前を付けた箱」
変数(へんすう) とは、プログラムの中で データを一時的に保管する箱 のようなものです。 箱には名前を付けることができ、その名前を使ってあとから箱の中身を取り出したり、書き換えたりできます。
たとえば、料理を作るときに「砂糖の量」をメモしたいとしたら…
| 箱の名前(変数名) | 中身(値) |
|---|---|
sugarGrams | 30 |
userName | "佐藤" |
isFinished | true |
このように、「名前」と「値」のペアで覚えておくのが変数のイメージです。
変数の宣言と代入
Java で変数を使うには、まず 宣言 が必要です。
int sugarGrams; // 変数の宣言
sugarGrams = 30; // 値の代入
宣言と代入を 1行にまとめる こともできます。こちらのほうがよく使われます。
int sugarGrams = 30;
試してみよう
第1回 と同じ要領で、Variables.java を作って実行してみましょう。
public class Variables {
public static void main(String[] args) {
int sugarGrams = 30;
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 score = -10;
int total = 100 + 200; // 計算もできる
System.out.println(total); // → 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つのルール
- 半角英数字とアンダースコア (
_) のみ(数字で始めるのはNG) - camelCase(キャメルケース)で書く が慣習: 例
userName、maxScore - 意味のある名前 を付ける:
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 は使わず、明示的な型を書いていきます(初心者のうちは型を書いた方が理解しやすいため)。
練習問題
以下のプログラムを書いてみましょう。
あなたの 名前・年齢・身長 を変数に格納し、1行ずつコンソールに表示するプログラム。
解答例
public class Profile {
public static void main(String[] args) {
String name = "佐藤 太郎";
int age = 28;
double height = 172.5;
System.out.println("名前: " + name);
System.out.println("年齢: " + age + "歳");
System.out.println("身長: " + height + "cm");
}
}
実行結果:
名前: 佐藤 太郎
年齢: 28歳
身長: 172.5cm
まとめ
第2回では、以下を学びました。
- ✅ 変数 は「データに名前を付けた箱」
- ✅ Java では変数を使う前に 型 を指定する必要がある
- ✅ よく使う型は
int(整数)、double(小数)、boolean(真偽)、String(文字列) の4つ - ✅ 値を変えたくない場合は
finalで定数にできる - ✅ Java 10 以降は
varで型推論も可能(本連載では使わない)
次回は、「もし◯◯なら××する」 という条件分岐を実現する if 文・switch 文 を学びます。
プログラムが「考える」最初のステップです。お楽しみに!