はじめに
Javaの勉強をはじめたばかりのあなたへ。
「変数」や「データ型」って、言葉からしてちょっと難しそうに聞こえませんか?
でも安心してください。この記事では、そうした言葉の意味を、たとえ話や身近な例を使いながら、ゆっくり丁寧に説明していきます。
プログラミングがまったく初めての人でも、最後まで読めば「なるほど!」と自然に理解できるようになります。
この記事でわかること
- 変数ってなに?なにのために使うの?
- データ型ってどういう意味?
- Javaでよく使う4つの基本的なデータ型
- 基本型と参照型の違い
- 変数の使い方に関するルール(初期化・スコープ)
- 値の書き換えと、定数の使い方
- よくある間違いとその直し方
変数とは?データを入れる“名前付きの引き出し”
まず「変数」という言葉から。
ちょっと数学っぽい言葉に聞こえるかもしれませんが、イメージとしては**「名前のついた引き出し」**です。
たとえば、あなたの部屋に「文房具を入れる引き出し」「お菓子を入れる引き出し」があるように、
プログラムの中でも、「年齢を入れる引き出し」や「名前を入れる引き出し」を用意しておきたいことがあります。
この引き出しに名前をつけて、あとで中身を自由に使えるようにする仕組みが、変数です。
Javaで変数を書くとどうなる?
たとえば、25歳という年齢を保存するにはこう書きます。
int age = 25;
この1行には、いろんな意味がつまっています。
int
は「この引き出しには整数を入れるよ」という意味age
は引き出しの名前。「年齢」という意味ですね=
は「右の値を、左の変数に入れる」という合図25
は実際に入れたい値;
はJavaのお約束。「ここで命令は終わりですよ」というマークです
データ型ってなに?「引き出しの中に何を入れるかを決めるルール」
変数(引き出し)を作るときは、「この中に何を入れるのか?」をあらかじめ決めておく必要があります。
これがデータ型(型)という考え方です。
つまり、データ型=引き出しの中身の種類です。
Javaでよく使う4つのデータ型
まずは、Javaでよく使う基本的なデータ型を4つ覚えてみましょう。
型 | 説明 | 例 |
---|---|---|
int | 整数 | 10 , -3 , 0 |
double | 小数 | 3.14 , 0.5 |
boolean | 真偽値(はい/いいえ) | true , false |
String | 文字や文章 | "こんにちは" , "Java" |
int age = 30;
double height = 1.65;
boolean isStudent = true;
String name = "たろう";
データ型には「基本型」と「参照型」がある
Javaのデータ型は、大きく2つの種類に分かれています。
基本型(プリミティブ型)
これはとてもシンプルで、値そのものが変数に直接入っているタイプです。
たとえば int age = 25;
の場合、age
の中に「25」という数字がそのまま入っています。
使われる型:int
, double
, boolean
, char
など
参照型
こちらは、データそのものではなく、「データがどこにあるか」を覚えているタイプです。
ちょっと難しく聞こえるかもしれませんが、たとえば String name = "たろう";
というコードでは、name
には「たろう」という文字列の保管場所の情報が入っています。
たとえるなら、基本型は「お菓子が入った箱」、参照型は「お菓子の場所が書かれたメモ」みたいなものです。
変数を使うときのルール
1. 初期化しないと使えない
Javaでは、変数を使う前に何か値を入れておかないといけません。
これを初期化といいます。
int score;
System.out.println(score);
正しくはこうです。
int score = 0;
System.out.println(score);
2. スコープ(使える範囲)に気をつけよう
変数には使える範囲があります。
たとえば、if文
の中で作った変数は、その外では使えません。
if (true) {
int num = 3;
}
System.out.println(num); // ← エラー
変数は、宣言された場所の中だけで使えるというルールがあるんです。
値は変えられる。でも、変えちゃダメなときもある
再代入:中身をあとから書き換えられる
int score = 80;
score = 95;
この場合はあとから変更ができます。
定数:変えちゃいけない値を守る
「この値はずっと固定で変わらない」と決めたいときは、final
を使います。
final int MAX_USERS = 100;
MAX_USERS = 200; // ← エラーになります
finalで宣言した変数は後から変えることができません。
名前はすべて大文字+アンダースコアで書くのがお決まりです。
キャスト(型変換):データ型を変えるには?
たとえば小数を整数に変えたいとき、キャストという書き方を使います。
double pi = 3.14;
int piInt = (int) pi;
System.out.println(piInt); // → 3
doubleからintにキャストすると小数点以下は切り捨てられるので、一部の情報が失われることもあると覚えておきましょう。
よくある間違いとその直し方
初心者がつまずきやすいポイントを、事前に知っておくと安心です。
文字列は「”」で囲もう
String name = たろう; // エラー
String name = "たろう"; // OK
文字列はダブルクォーテーションで囲みます。
Javaではシングルクォーテーションはchar型だけしか使えません。
int に小数は入れられない
int price = 100.5; // エラー
double price = 100.5; // OK
intやlongなどの整数を扱うデータ型には少数はいれられません。doubleやfloat型を使いましょう。
セミコロンを忘れずに
int age = 25 // ← エラー!
age = 25; // OK
初心者がよく間違えるのはセミコロン忘れや、文字が間違っていることです。
慣れるまではしっかり細かいところまで確認しましょう。
IDEなど使うと自動で検出してくれます。
宣言した場所の外で使おうとするとエラー
if (true) {
int num = 5;
}
System.out.println(num); // エラー
上で挙げましたが{}の中括弧で囲われた中で宣言した変数はその中でしか使えません。
外から呼び出すとエラーになります。
初期化を忘れずに
int score; System.out.println(score); // エラー
int score = 0; // OK
こちらも上で挙げましたが変数は初期化しないとエラーになります。
基本データ型は初期化しないときは決まった値が暗黙的に設定されるのでエラーにならないこともありますが、必ず初期値は明記しましょう。
おわりに:ゆっくりで大丈夫
ここまで読んでくださってありがとうございます。
変数やデータ型のこと、少しずつイメージできるようになってきたのではないでしょうか?
プログラミングは、最初に覚えることがちょっと多いけれど、ひとつひとつが積み重なっていくものです。
今日の内容が理解できたあなたは、もう次のステップに進める準備ができています。
次は、「計算する方法(演算子)」や「条件によって動きを変える方法(if文)」にチャレンジしてみましょう!