変数は「データ保存用の箱」Javaを例に解説


プログラミング学習をはじめたものの、最初に学んだ「変数」がいまいち理解できず、早速挫折しそうになっていないでしょうか。

変数は重用ですが、いきなりすべてを覚える必要はありません。
「データを一時的に保存する箱」であることだけおさえましょう。

初心者が変数でつまずく理由は、情報量が多いことや、とっつきにくさです。しかし、変数さえしっかり理解できれば、その後の学習は比較的スムーズに進行します。変数はプログラミングの「最初の壁」ですが、この壁を乗り越えれば、プログラミングの世界はぐっと広がります。

エンジニアじゃない人のためのプログラミング講座

「エンジニアを目指してはいないけど、プログラミングをやってみたい」
「初心者向けの講座や本を見たけど、ちょっと専門的すぎる」
「プログラミングの基礎を学んで、業務の幅を広げたい」

エンジニアじゃない人のための、プログラミング講座を、Udemyにて公開中です。
簡易的なRPGを作りながら、プログラミングの世界を体験してみませんか?


変数とは「箱」のようなもの

変数はJavaなどのプログラミング言語において、データ(値)を入れるための「箱」です。日常生活で使う箱が物を入れるのと同様に、プログラミングの世界では変数という箱にデータを収納します。
同じデータを何度も使うために、データを格納した変数を用いて処理を行います。

Javaに限らず、どの言語でも最初の段階で学ぶ重要な概念であり、プログラミングの基礎中の基礎といえます。

多くの入門書や講座が、はじめに変数について解説するのは、変数が今後の学習や実装のベースになるからです。条件分岐や演算子といった次のステップに進む前に、変数をしっかり理解することで、その後の学習がスムーズになります。

型と名前:変数を構成する2つの要素

型(データの種類に応じた箱の種類)

現実世界でも、魚は発泡スチロール、ケーキはケーキ箱など、中に入れるものによって箱の種類が変わります。同様に、プログラミングでも「文字用の箱」「数値用の箱」「真偽値用の箱」など、データの種類に合わせた型を選択します。これが「型」という要素です。

名前(箱を識別するためのラベル)

引っ越し時に段ボールに「食器類」と書いて中身がわかるようにするように、変数にも名前をつけて中に何が入っているかを区別します。
この「名前」をつけることで、プログラム中で変数を識別し、再利用することが容易になります。


変数の宣言と値の代入

実際に動かしたい場合は、以下のサイトが便利です。
https://paiza.io/ja/projects/new?language=java

変数の宣言

変数を使うには、まず「型」と「変数名」を指定して宣言します。

int num; // 整数型の変数numを宣言
String hello; // 文字列型の変数helloを宣言

値の代入(=記号の意味)

宣言後、変数に値を代入します。代入には「=」を用いますが、イコールは「等しい」という意味ではなく「代入」という操作を表します。

num = 1;      // numに1を代入
hello = "こんにちは"; // helloに"こんにちは"を代入

「=」は左側の変数に右側の値を格納するイメージです。つまり、「左の中身を右と同じにする」感覚で捉えると理解しやすくなります。


変数の利用と上書き

変数の内容を出力する

代入した変数は、処理の中で自由に利用できます。

System.out.println(num);   // 1と表示される
System.out.println(hello); // "こんにちは"と表示

変数の上書き

変数は何度でも値を上書きできます。

hello = "おはようございます";
System.out.println(hello); // "おはようございます"が表示

上記のように、変数の中身はプログラムの進行に合わせて自由に変更可能です。これが「変数」という名前の由来となっています。


変数から変数へ値を代入する

変数は、別の変数の中身を受け取ることもできます。

String greeting1 = "こんにちは";
String greeting2 = "やあ";
greeting2 = greeting1; // greeting1の中身をgreeting2へ代入
System.out.println(greeting2); // "こんにちは"が表示

「=」は常に右から左へ値を流し込むイメージです。左辺(左側)の変数に、右辺(右側)の変数や値を代入します。


なぜ多くの「型」が存在するのか?メモリの節約

プログラミングにはさまざまなデータ型(整数、文字列、少数、真偽値など)が存在します。異なる種類のデータを効率的に扱うため、特化した型が用意されています。

さらに、過去のコンピューターはメモリが非常に限られていたため、データサイズに応じて小さな箱(バイト型など)や大きな箱(ロング型など)を使い分ける必要がありました。現代ではメモリが豊富なため、あまり細かく気にする必要は少ないですが、歴史的な理由で多くの型が残っています。


変数が存在する本質的な理由

理由1:異なる値を柔軟に処理するため

変数は、プログラム中で異なる値を扱うために欠かせません。たとえば、電卓プログラムを考えてみてください。ユーザーが入力する値は毎回異なるため、それらを受け取り、計算結果を出すには、変数が必要です。

理由2:処理効率の向上

変数を利用することでデータを整理し、プログラムの処理効率を上げられます。引っ越しで荷物を段ボール(箱)に入れると、運搬や整理がしやすくなるように、プログラムでもデータを「箱」である変数に入れることで扱いやすくなります。

変数でつまづかないためのポイント

まずは数値と文字列の2つの型(intとString)だけ覚える

int num;  
String hello;

「int」は整数用、「String」は文字列用といったように、変数を宣言するときにはデータ型が必要です。これは「この箱にはどんな種類の値を入れるのか」を明確にするためのルールです。
最初は、整数用のintと文字列用のStringだけ覚えておけば十分です。その他の型は、必要になったときに順番に身につけていけば問題ありません。

イコール(=)は「等しい」ではなく「代入」

javaコードをコピーするnum = 1;  
hello = "こんにちは";

学校で習うイコールは「等しい」という意味ですが、プログラミングでは左側の変数に右側の値を代入するという操作を表します。「numに1を入れる」「helloに”こんにちは”を入れる」といったイメージでとらえるとわかりやすいです。


まとめ

変数はプログラミングの基礎であり、最初のハードルとなりがちなテーマです。しかし、イコール(=)が代入を表すことや、変数という「箱」に値を入れて使う感覚をつかめば、難しさは徐々に和らいでいきます。

変数の理解は、プログラミングスキルを向上させる大きな一歩です。変数をしっかりと押さえた上で、条件分岐やループ、関数など、次のステップへと進んでみてください。これらが自然に理解できるようになれば、プログラミングはより自由度が高く、楽しい世界へとつながっていきます。

エンジニアじゃない人のためのプログラミング講座

「エンジニアを目指してはいないけど、プログラミングをやってみたい」
「初心者向けの講座や本を見たけど、ちょっと専門的すぎる」
「プログラミングの基礎を学んで、業務の幅を広げたい」

エンジニアじゃない人のための、プログラミング講座を、Udemyにて公開中です。
簡易的なRPGを作りながら、プログラミングの世界を体験してみませんか?

タイトルとURLをコピーしました