「プログラミングの『変数』ってなんなんだろう?」
「変数ってなんのために使うの?」

いまいちピンとこないし、『変数』というだけでなんだか難しそうに感じますよね。
数学でも変数って出てきたような…?

結論から言うと、変数とは「あとで使いたい数字や単語を入れておく箱」のことです。
そして、次のような特徴があります。

  • 箱に入れた数字や単語は、いつでも出し入れして読み書きできる
  • 箱には一目みただけで何かわかるよう、名前をつけることができる
  • 変数をつかうときには、「この箱に入れておいてね!」と伝える『宣言』が必要

例をまじえて説明していきますね。

プログラミングの変数はこんなときに使うよ

りんごとみかんを買いに、スーパーにいくことにしました。
そこで、買い物をするたび、所持金を確認することにしました。
プログラミングするには、次のような流れになります。

所持金の計算
  1. りんごの価格を、所持金から引き算して表示する
  2. みかんの価格を、所持金から引き算して表示する

ここでは、最初の所持金は1000円、りんごが150円、みかんが100円としてみましょう。
じっさいにプログラミングのコードになおすと、次のようになります。

print(1000 - 150);  //りんごを購入、printで表示
print(850 - 100);  //みかんを購入

結果として、「850」「750」と表示されます。
でもちょっと待ってください。
今回はりんごとみかんだけだったからよかったものの、買い物をする品が5個あったとしたらどうなるでしょう?
追加で、「ぶどう:200円」「いちご:250円」「バナナ:180円」を買う場合、こうなってしまいます。

print(1000 - 150); //りんごを購入、printで表示
print(850 - 100); //みかんを購入
print(750 - 200); //ぶどうを購入
print(550 - 250); //いちごを購入
print(300 - 180); //バナナを購入

ここで何が困ったかというと、「引き算の結果を自分で計算しなければならない」ということ。

しろねこ
1000 - 150 は850、つぎは850 - 100は750で次は…めんどくさいよぉ!

プログラミングでラクラク計算するはずが、自分で考えて計算することになってしまいました。
ではどうすれば楽に計算をすることができるでしょうか。
所持金を自分で計算せずとも、コンピュータが記憶してくれていれば楽に計算できそうですね。
そう、こんなときに使うのが「変数」なんです。

変数は値を保存しておける箱のこと

ここで所持金を、コンピュータに記憶させておくために、「変数」を使ってみましょう。

しろねこ
コンピュータくん、所持金がいくらになったか覚えておいてくれるかな?
最初の所持金は1000円でお願いね!

コンピュータ
わかりました!
変数に所持金がいくらになったかを保存しておきますね!
変数には、名前をつけることができます。
ここでは変数の名前を「Okane」としておきましょう。
変数に値を格納するイメージ
おなじものを買うプログラムを書いてみます。
int Okane;  //変数を宣言

Okane = 1000;//最初の所持金は1000円
Okane = Okane - 150; //りんごを購入
Okane = Okane - 100; //みかんを購入
Okane = Okane - 200; //ぶどうを購入
Okane = Okane - 250; //いちごを購入
Okane = Okane - 180; //バナナを購入
print(Okane);  //買い物をした後の所持金を表示(120)

「int Okane;」の部分が、「変数を使うよ~」という宣言の部分です。
(int については後述します)

プログラミングにおいて、「=」は『代入』を示します。
「Okane = 1000;」は、Okaneという変数に「1000」を代入すること。
「Okane = Okane - 150」は、Okaneという変数から150を引き算して、さらに変数に代入することを示しています。
Okane変数には最初は1000を代入していますので、1000から150を引き算した結果を、Okane変数に入れ直しています。

その後も、引き算を続けています。

変数を使わない場合と何が違うかというと、計算の結果を保存しておけるところです。
変数を使わないと、計算の結果を自分で覚えておいて、直接コードに書く必要がありました。
しかし変数を使うと、引き算の結果がそのつど保存されています。
購入したくだものの価格を引くだけで、所持金を計算することができるようになりました。

変数にはわかりやすい名前をつけよう

変数には名前をつけることができます。
上の例では、「Okane」という名前をつけましたね。
変数には、わかりやすい名前をつけるのが基本です。

たとえば、変数の名前が「abc」だったらどうでしょう。
同じ動きをするコードで、変数の名前だけを変えたものをみてみましょう。

int abc;  //変数を宣言

abc = 1000;//最初の所持金は1000円
abc = abc- 150; //りんごを購入
abc = abc- 100; //みかんを購入
abc = abc- 200; //ぶどうを購入
abc = abc- 250; //いちごを購入
abc = abc - 180; //バナナを購入

コメント(日本語のメモ)があるからまだ良いものの、わかりづらくなってしまいましたね。
これがその日だけ使う…という場合はまだ良いのですが、1週間後、1か月後に同じコードを見たらどうおもうでしょう。

しろねこ
abcってなんだろう…
となってしまうに違いありません。

変数名は、できるだけわかりやすい名前をつけるようにしましょう。

変数をつかうときは『宣言』が必要

変数をつかうときは、『宣言』が必要です。
int Okane;  //←これが変数の宣言

Okane= 1000;

このように、「これから変数を使うよ~!」と、コンピュータに教えてあげる必要があります。
コンピュータはとても厳密なので、変数を使う前に必ず宣言をしないと、エラーとなってしまいます。

すこし面倒に思うかもしれませんが、変数を宣言することには、プログラミングをする私達にもメリットがあります。
それは、「どんな目的で、どんな種類の値が入っている変数かがおおまかにわかる」ことです。
変数には「数値」や「文字列」といった『型』があり、どんな種類の値が入っているかを宣言する必要があるんです。

変数には「数値」や「文字列」といった『型』があるよ

int Okane;  //int型(数値)の変数の宣言

Okane = 1000;

ここで、変数の名前の前にある「int」が『変数の型』です。
ここでは、3つの型を紹介します。

  • int型…数値(0, 111,  999など)
  • string型…文字列("あいうえお"、"いちご"など)
  • float型…小数(0,1 , 0,1123,  3.3 など)

プログラミング言語によって型の名前が違うことはありますが、おおむね似たような名前をしています。
これらの型と名前で変数を宣言しておくことによって、どんな目的の変数かがおおまかにわかるようになっています。
「int Okane」だったら、『お金をあらわす数値の変数なんだな』という具合ですね。

プログラミングの変数とは?まとめ

  • 変数は値を保存しておける箱のこと
  • 変数を使うときには宣言が必要
  • 変数には名前をつけることができる
  • 変数には数値や文字列といった『型』がある

これをふまえて、もういちど変数を使ったコードを見てみましょう。

int Okane;  //変数を宣言

Okane = 1000;//最初の所持金は1000円
Okane = Okane - 150; //りんごを購入
Okane = Okane - 100; //みかんを購入
Okane = Okane - 200; //ぶどうを購入
Okane = Okane - 250; //いちごを購入
Okane = Okane - 180; //バナナを購入

print(Okane);  //買い物をした後の所持金を表示(200)

まず変数を宣言しています。
数値の型で、「お金」が連想できる「Okane」という名前をつけていますね。

次に最初の所持金、1000を変数に代入しています。
さらに変数からくだものの価格を引き算し、変数に代入しなおしています。
変数を使うことによって、「今いくらお金をもっているか」を保存し続けることができるんですね。

さいごに、最終的な所持金を表示しています。
1000 - 150 - 100 - 200 - 250 - 180 = 120となるため、「120」と表示されます。

変数をうまく使えるようになると、プログラミングがどんどん楽しくなっていきます。
最初は慣れないかもしれませんが、ぜひ変数を使ってみてください。

おすすめの記事