1. 変数と箱
変数は、データを保存するための特別な入れ物です。どんなデータでも扱えます。Javaでは、すべてのデータは変数によって保存されます。変数は意味として箱にいちばん近いもの、つまりごく普通の箱だと考えてください。
たとえば、紙に数13と書いて、その紙を箱に入れたとします。すると私たちは「箱は13という値を保持している」と言えます。

Javaの各変数には3つの重要な属性があります。型、名前、そして値です。
名前は、ある変数を別の変数と区別するために使います。箱のラベルのようなものです。
変数の型は、その変数に保存できる値(データ)の型を定めます。ケーキ箱にはケーキ、靴箱には靴、という具合です。
値とは、変数の中に保存されるオブジェクトやデータ、情報のことです。
Javaのあらゆるオブジェクトには型があります。例えば、次のようなデータ型があり得ます:整数、小数、テキスト、Cat 型、House 型など。
変数(箱)にもそれぞれ型があります。変数は、自分自身と同じ型の値だけを保存できます。いろいろな物を保存するには、それぞれに合った箱を使うのと同じです。お菓子の箱、卵1ダースの箱、など。現実世界と同じですね。
2. 変数の作成
Javaでは、変数を作成するには次の形式の宣言を使います。
type imya;
ここで、typeは変数の型(その変数が保持できる値の型と一致)で、imyaは変数名です。
例:
| 変数の作成: まず型、その後に名前。 | 説明 |
|---|---|
|
aという名前のint型変数を作成する。 |
|
sという名前のString型変数を作成する。 |
|
cという名前のdouble型変数を作成する。 |
もっとも頻繁に使われる型は、整数(キーワードint)とテキスト(クラスString)です。さらに、doubleもよく使われ、これは小数(浮動小数点数)を表します。
3. 代入
すでに述べたように、変数には名前・型・値があります。名前と型は理解しました。では値はどうでしょう? どうやって値を変数に入れるのでしょうか?
値を変数に入れるために、特別な演算——代入演算——があります。これはある変数から別の変数へ値をコピーします。移動ではなく、あくまでコピーです。ディスク上のファイルのようなものです。見た目は次のようになります。
imya = znachenie;
ここで、imyaは変数名、znachenieはその変数に入れる値です。値としては、具体的なリテラル、別の変数名、あるいは変数を用いた式を使えます。
例:
int i; // 変数 i が作成される
int a, b; // 変数 a, b が作成される
int x; // 変数 x が作成される
i = 3; // 変数 i に値 3 が代入される。
a = 1; // 変数 a に値 1 が代入される。
b = a + 1; // 変数 b に値 2 が代入される。
x = 3; // 変数 x に値 3 が代入される。
x = x + 1; // この行で x の値が 1 増え、x は 4 になる。
等号
代入には記号=を使います。これは比較でも等価でもありません。左側の変数に、右側の値をコピーするための「値のコピー命令」です。比較にはJavaでは二重の等号==を使います。
4. 変数名: できること/できないこと
変数を作成するときに役立つポイントは次のとおりです。
- 変数名は基本的に自由です(例: temperature、score、userAge)。
- ただし制約があり——数字で始めることはできませんし、Java の予約語と同じ名前にもできません(例えば、intやifは不可)。
- $と_以外の特殊文字は使えません。
- 大文字と小文字は区別されます(Ageとageは別の変数)。
- 一般的にはcamelCaseスタイルを使います。先頭は小文字、その後は各語の先頭を大文字にします(userAge、maxScore)。
許可される名前の例:
int x123 = 1;
String koteyka;
double PI = 3.14;
String MAIN_PATH = "c:/";
禁止される名前の例:
int 1first = 1; // 名前は数字で始められない
int number# = 25; // # は名前に使えない
String name" = "John"; // 名前に引用符は使えない
double pi+e = 5.123; // 名前に + は含められない
その他のことは今後の講義で学びます。では論理クイズです: 何手で猫を箱に捕まえられるでしょうか?
5. 猫と箱

猫の捕まえ方:
- 空の箱を用意する。
- 待つ。
冗談です🙂
箱には猫をいくらでも詰め込めるかもしれませんが、変数に入れられるのは常に1つの値だけです。これに関連した次の課題へ進みます。
GO TO FULL VERSION