「プログラミングの『変数』ってなんなんだろう?」
「変数ってなんのために使うの?」
いまいちピンとこないし、『変数』というだけでなんだか難しそうに感じますよね。
数学でも変数って出てきたような…?
結論から言うと、変数とは「あとで使いたい数字や単語を入れておく箱」のことです。
そして、次のような特徴があります。
- 箱に入れた数字や単語は、いつでも出し入れして読み書きできる
- 箱には一目みただけで何かわかるよう、名前をつけることができる
- 変数をつかうときには、「この箱に入れておいてね!」と伝える『宣言』が必要
例をまじえて説明していきますね。
Contents
プログラミングの変数はこんなときに使うよ
りんごとみかんを買いに、スーパーにいくことにしました。
そこで、買い物をするたび、所持金を確認することにしました。
プログラミングするには、次のような流れになります。
- りんごの価格を、所持金から引き算して表示する
- みかんの価格を、所持金から引き算して表示する
ここでは、最初の所持金は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円でお願いね!
変数に所持金がいくらになったかを保存しておきますね!
ここでは変数の名前を「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か月後に同じコードを見たらどうおもうでしょう。
変数名は、できるだけわかりやすい名前をつけるようにしましょう。
変数をつかうときは『宣言』が必要
変数をつかうときは、『宣言』が必要です。 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」と表示されます。
変数をうまく使えるようになると、プログラミングがどんどん楽しくなっていきます。
最初は慣れないかもしれませんが、ぜひ変数を使ってみてください。