プログラミングにおける「変数」とは、データを一時的に保存しておくための箱のようなものです。
例えば、計算で使用する数値や人の名前のような文字列をプログラムが処理している間、それらの情報をどこかに保持しておく必要がありますよね。その「どこか」が変数になります。
プログラミングをマスターするためには、変数が何者であるのか?どのように使われるのか?を知る必要があります。このページでは変数の概念から、各プログラミング言語における変数の使い方をサンプルコードを用いて解説していきます。
参考 プログラミングとは?
プログラミングの変数とは?
プログラミングにおける変数(variable)とはデータを扱うメモリ領域のことを指します。メモリ領域というと言葉が難しくなるため、変数は「箱」に例えて説明されることが一般的です。
プログラミングでは、この「箱」に値を入れたり「箱」の中に入っている値を見たりしてロジックを組み上げていきます。例えばゲームをしているときのスコアを管理するような場合、このゲームのスコアはプレイ中に刻々と変わっていきますよ。プログラムではこのスコアを「変数」に保存します。スコアが上がるたびに、この変数の中身を更新していきます。
プログラムから見たら、「スコア」という名前の箱(変数)の中に、点数が入っているというわけです。
尚、この「箱」には例えば数字や文字列、日付など様々な値を入れることができます。
変数どうしを足し算してみたり、変数の中の値を表示させてみたり、変数の中の値に応じて処理を変えてみたり、プログラミングではこの「変数」の理解が第1歩。変数を適切に理解することが、プログラミングを学ぶ上で非常に重要になってくるのです。
この「箱」ですが、実はただの「箱」ではありません。プログラミング言語の世界の話なので、どの言語にも共通するルールや法則が存在します。
ここでは、プログラミングの変数についての大まかな2つの基礎知識を解説していきます。
変数には「型」がある
変数には特定の「型」が存在します。「型」とは一般的に「データ型」と呼ばれ、その変数の仕様を決める役割を持っており、変数には決まった「データ型」と一致する値だけを格納することができます。
参考 データ型とは?
例えば、データ型「日付」の変数に文字列を入れることはできません。同様に「数字」型の変数に文字列を入れることもできません。稀にプログラミング言語の種類によって例外はありますが、プログラミングの一般的な原則です。
変数には決まった「型」が存在しており、この「型」にあった値で利用する必要があります。
初心者の人にとっては、忘れがちなポイントになるのでこの点をしっかり押さえておきましょう。
変数には固有の名前をつけて利用する
次のポイントは変数の名前です。変数には必ず「名前」を付ける必要があり、且つその名前はプログラム内で一意である必要があります。
例えば、同じ変数が2つ以上あると、プログラムエラーが発生してしまいます。
プログラミングでは、この「名前」を指定することではじめて対象の変数の操作が可能になります。(同じ名前が2つあってはいけない理由がわかりますね。)
ちなみに、この変数の名前の付け方には絶対のルールが存在しません。一意であることと、名前の長さなどに決まりはありますが、基本的には名前は何を付けてもOKです。したがって、変数の命名についてはプログラマーの1つの腕の見せ所です。
変数の命名については、こちらの記事(わかりやすい変数の命名方法)で詳しく解説しておりますので、合わせてご覧ください。
- 変数は決まった「型」をもつ「箱」である
- 変数には固有の名前が必要である
変数の使い方
ここからは、より具体的に変数の概念をイメージできるよう、変数を利用する際の大まかな流れについて解説します。
変数の使い方は、大きく3つ(①宣言・②代入・③参照)に分類することができます。明確にこの分類を意識して覚える必要はありませんが、実際にコーディングしていく上で何となく変数の使い方を何となく理解しておくことは重要です。
ここでは初心者向けに、プログラミングでは変数を使って何をしているか?というイメージを持てるよう一般的な言葉で解説しておきたいと思います。
変数の宣言
変数を使うために必ず必要となるのが変数の宣言です。
※明示的に変数宣言を行う場合を例に解説します。プログラミング言語の中には、変数の宣言を自動的に行ってくれるものもあります。
変数の宣言という難しく感じてしまうかもしれませんが、先ほど説明したように「〇〇という名前で、データ型が△△の変数を作ります」というのをコーディングするだけです。
「変数の宣言=メモリ領域の確保」となるため、不必要な変数をむやみやたらに宣言するのはNGです。必要最低限の変数だけを宣言します。
メモリ領域は、作業机に例えられることが多いです。 作業机の上における本の量は決まっていますし、できるだけ本は少ないほうが作業しやすいですよね。
これと同じで、メモリもできるだけ少ない量でコーディングをすると、パフォーマンスが良いプログラミングが可能になります。
変数の宣言:サンプルコード
ここからは、具体的に各言語での変数宣言方法を確認しながら、変数の使い方を具体的にイメージしていきましょう。あくまでも、イメージを付けられればOKなので構文を暗記する必要はありません。
VBA
Dim A As String
String型(文字)のAという変数を宣言する例です。詳しくは、こちらの記事をご覧ください。
ABAP
DATA Z_DAY TYPE D.
日付型の「Z_DAY」という変数を宣言しています。こちらも詳しくは以下の記事をご覧ください。
JavaScript
// letを用いた変数宣言 let biz_online1; // letを用いて一度に複数の変数を宣言 let hensu1, hensu2; // varを用いた変数宣言 var biz_online2; // varを用いて一度に複数の変数を宣言 var hensu1, hensu2;
変数の代入
宣言した変数に実際に値を格納することを「代入」と呼びます。
変数を宣言しただけでは、中身はまだからっぽです。したがって、変数には何かしらの値が必ず代入されます。決められたデータ型に沿った値を目的の変数に格納して利用します。
また、変数からまた別の変数に値を移すこともできます。
変数「Sample_string2」には、今「あいうえお」という値が格納されていることになります。
ここまで見てきたように変数の利用は、「①宣言」と「②代入」に分類することができます。
変数の参照
では、最後の変数の参照とは何か?実は、これ一番簡単です。「変数を利用すること」が変数の参照です。
直前に説明した変数の代入で用いた画像をもう一度見てみましょう。
「Sample_string2」に値を代入するために、変数「Sample_string」を利用しています。この時、実は変数「Sample_string」を参照していると言うことができます。
冒頭で解説した通り、ここまで明確に変数の利用方法を詳細に区別する必要はありません。ただし、変数とは何者か?というのをしっかり頭に入れておくと、必ず役に立つときがやってきます。
最後に:なぜ変数を使うのか?
そもそも、なぜプログラミングではわざわざ変数を使うのでしょうか?
ざっくりですが、変数を利用することのメリットは以下の3つに集約できるかと思います。変数のメリットなどは、プログラミング上級者になってくると改めて考えることは少なくなってきますが、以下を意識すると変数の命名の仕方などが大きく変わってきます。
- 繰り返し利用が可能
同じ値を繰り返して利用することが可能になります。逆に言えば、繰り返し利用するような値は変数(もしくは定数)で定義しておくのが良いでしょう。 - 可読性の向上(名前を付けることができる)
変数には名前を付けることができます。したがって、その変数の意味や利用目的をコード上に残せるということ。ある意味、コードの説明書的な役割としても利用しやすいです。 - 保守性があがる(変更に強い)
変数を利用することで、コード全体の保守性が向上します。ハードコーディングの場合、変更(機能追加)に耐えづらいプログラムとなってしまいます。
ハードコーディングとは・・・?
プログラミングを1から学びたい方は・・・
プログラミングをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。
そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、1から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。
各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。