【初めてのC#】プログラミングで重要な変数の概念について理解しよう

SPONSORED LINK

今までC#やプログラミングにまつわる様々な記事を投稿してきました。将来的は学習教材として十分と言われれるようなブログを目指していきたいです。

今日はプログラミングの基礎である「変数」について理解していきましょう。今までプログラミングを知らない人も、プログラミングに興味がある人も、避けては通れない重要事項が変数です。

できるだけ分かりやすく説明していきます。

変数とは

そもそも変数ってなんだ?

そう思う人も多いはず。聞いたことあるけど何だったかなー。数学だったかな、物理だったかなー、と思ったあなたは正解です。数学や物理の世界でも変数はよく使われますね。

変数は「様々な値(数字に限らない)をつめる箱」と表現できるでしょう。

数学とプログラミングにおいての変数の違いについても言及しつつ、変数について解き明かしていきますので、のんびり理解していきましょう!

 

数学での変数

先ほども触れましたが変数は数学でも良く用いられます。

例えば、みんな大好き関数がその代表格とも言えるでしょう。y = ax + bという一次関数の公式でもxとyは変数として知られています。数学において変数とは「様々な数値を等号で結ぶことができる箱」と言えます。

 

数学には右辺と左辺が存在しています。その2つの式が等号(=)で結ばれている場合、両辺の式の値は「等しい」というのが一般論的に言われています。

ですのでy = ax + bもax +b =yも成り立つのです。

この両辺の値が等しい、という前提に立った上で等号と変数が使用されています。それに対して、プログラミングでの等号と変数はどうでしょうか。

 

プログラミングでの変数

プログラミングでの変数および等号の使われ方は、数学とはまるっきり違います。

プログラミングでの等号(=)は「左辺に右辺を代入する」という固定された意味で使用されることが大原則となっているのです。

 

等号は「等しい」を言い表すのではなく、「代入」を示しています。

この立場に立った時では、先程の1次関数の公式も全く別物となるのです。もう一度、y=ax+bを考えてみましょう。プログラミングの場合はこのように考えます。

「yという変数にax+bの値を代入する」

 

これがプログラミングと数学の違いです。この大原則の元では、右辺と左辺を入れ替えてしまうことは不可能となります。

「ax + b に変数yを代入する」

なんかぎこちない感じがしませんか?今回の場合はax + bという形でしたが、固定された数である「5」と変数・xで考えてみましょう。

 

数学の場合

数学で考えるとこのようになります。

「x=5という式は、xという値は5と等しく、5という値はxと同値であることを表している」

これはそのままですね。左辺と右辺が等しいということを表す等号を使用していますから、難しくないはずです。ここで躓く人はプログラミング以前に、学校の数学を復習する必要があるでしょう。

 

プログラミングの場合

何度も説明してきましたが、プログラミングと数学では立場が違います。プログラミング的に考えるのであれば下のようになります。

「x = 5という式は、変数xに対して5という数値を代入する」

どうですか?明確に違いがわかるでしょう。では、この式の左辺と右辺を入れ替えて考えて見てください。

「5に対して変数xを代入する・・・???」

なんか気持ち悪い表現ですね。冒頭で僕は「変数とは箱である」と説明しました。箱には中身がありますが、個体に箱を詰めようとしてもムリなだけです。

変数が箱というイメージはとても重要なので、しっかりと記憶しておくことが望ましいです。

プログラミングで等号を使用する場合は、右辺の中身を左辺の箱に詰めるのです。この等号に対するイメージを持っているのと持っていないのでは、プログラミングに対する理解度がかなり変わります。

 

結論:変数とは箱である

プログラミングにおける変数は究極のところ入れ物です。プログラミングの真骨頂はいろいろなデータの値を、変数という箱に詰めて次の作業場へ運ぶことですだと思っています。

工場のベルトコンベアを思い浮かべてみてください。

前の人がちゃんと工程を終了しておかないと、次の人が作業を進めようと思っても進みませんよね。プログラミングもこのイメージです。その中で次の作業の準備に当たるのが変数とその扱いです。

 

下のソースコードを見てみてください。

補足になりますが、C#において//の後の一行はコメントになります。この場合は「変数の宣言」と書かれている部分がコメントとして認識され、プログラミングとして処理に影響を与えません。

またstatic void Mainから始まる中括弧({})の中以外の外の部分は無視してください。

 

では、上のコードを日本語に訳します。

「まず変数xを用意して、その箱(変数)に数値の5を代入する。その箱に入ったxの中身をコンソール画面に出力する」

日本語で表すとスッキリしますね。「変数という箱に値を詰める」て次の処理のために準備するというイメージは湧いたかと思います。

箱に詰めて、箱を渡す。

プログラミングではこのイメージを持っておかないと、複雑なソースになったときに行方不明になります。ですので、こしうした重要なことは今のうちから覚えておくことが望ましいです。

 

まとめ

プログラミングにおける変数についてを書きました。いかがでしたでしょうか。

コーディング作業をしていて、プログラミングとは変数に詰められた値をどのように受け渡して処理するのかが大原則である、という点に気づきました。これは先程もお話したとおり、プログラミングにおいては様々な値を操作します。

例えば電卓アプリでも、業務支援アプリでも・・・プログラミングと変数は切っても切り離せない関係にあるのだな、とつくづく感じています。

曖昧だった変数の概念を、しっかりと身に付けることがプログラミングの技術向上に欠かせません。しっかりと理解できるよう取り組んでみてください!

SPONSORED LINK

更新情報はSNSでお届け

ABOUTこの記事をかいた人

HIRO

旅・音楽・プログラミング・ブログを愛するコンテンツ・クリエーター、ミニマリスト。ガジェット、海外ドラマ、旅行が好きで、趣味は読書。都内のIT企業でSEとして働いています。※このブログでの発言はすべて個人に帰属し、企業や団体とは一切関連がありません(PRを除く)。