さて、プログラミングや数学を勉強し始めると「変数」や「定数」という言葉が出てきますね。
この二つの意味や考え方、使うとどんなメリットがあるのか、主にプログラミングの視点から優しく説明していきたいと思います!
共通点もあるけど、それぞれ使いどころや特徴があるんです!
まずは変数・定数の考え方のイメージから!
変数と定数に共通したイメージからまず考えましょう。今は両方の区別はせず同じものとしましょう。違いはまた後の方で説明します!
さて、変数や定数には「箱」をイメージするとわかりやすいです。箱には「名前」と「中身」があると考えましょう!
上の図のように、a,b,cと名前の付いた箱があるとします。変数や定数はこのときに付けた名前で呼びます。変数aや定数b…のような感じですね。
そして、変数・定数は「箱」なので「中身」を入れることができます。
じゃあ今、変数a、定数bの中身は?というと、何も入っていないので空っぽです。名前が付いた箱だけが存在しているんですね。
変数・定数は計算をする時に使うことが多いです。箱だけあっても中身が無いと使い物になりません。何もないからa+bとかもできないわけです。
a+b= ?+? = 計算できない…
では変数・定数に中身を入れてみましょう。試しにaに20を入れてみるとこうなります。
これで変数aに中身が入りました(変数a = 20)。同様にbとcにも中身を入れてみましょう。
これで全部の箱に数字が入った状態になりました。こうするとa,b,cを使って計算ができるようになります。a+b=30、c÷b=6のようにです。
- a+b= 20 + 10 = 30
- c÷b= 60 ÷ 10 = 6
変数・定数は「名前」を付けて「中身」を入れることができる「箱」
代入=値を格納すること
上記の説明のように、中身を入れる・値を格納する(=代入する)際、多くのプログラミング言語などでは以下のように記述します。
a = 20 (aに20を代入)
b = 10 (bに10を代入)
c = 60 (cに60を代入)
そこまで違和感は無いですよね。では次は変数と定数について見ていきましょう!
数学とは違って「aは20に等しい」という意味では無い点に注意です!
変数と定数の違いは?
先ほどまで変数と定数を同じ扱いにしていましたが、実際は別物です。基本的な考え方は同じですが、以下のような違いがあります。
変数:中身を何度でも入れ替えられる
定数:中身は一度決まったら変えられない
文字通りではありますが、変数は値(中身)を変更することが何度でも可能ですが、定数は一度決めたらずっとそのまま、変えられないものなんです。
例えばaを定数、bを変数とすると以下のようなイメージです
変数と定数の使い分けは?メリットは?
変数は変えられるもの、定数は変えられないものということはわかりましたが、両者はどう使い分けるのでしょうか。深く学んでいかない場合にはそこまで深く考える必要はありませんので、ざっくりとこのイメージを持っておきましょう
絶対変わらない、変えたくない値→定数
例えば計算する際、円周率(3.1415…)は絶対に変わらない固定の値ですよね。場合によって4とかにはならないわけです。他にも消費税は10%で固定(法律が改正されない限り)ですし、東京から大阪までの距離(401km)などは時間によって変わらないため定数となります。
プログラミングなどで計算をする際、定数は一度設定すると変更できないため「最初は3.14で設定していたはずの円周率が31.4になってた!」「消費税10%にしたはず0%で計算されてた!」なんて状況を防止できるというわけなんです。
まさかのミスは起こるもの…。想定外のバグにあらかじめ対策しておくことが大切です!
計算結果を格納するときなど、それ以外の場合には変数を使うように使い分けましょう!
コメント