プログラミングを始めてみたけど、変数ってよく分からない…
分かりやすく教えてほしいな…
上記のお悩みを解決します。
■本記事の内容
本記事で以下の内容をお伝えします。
・変数の使い方
・なぜ変数を使用するのか
・プログラミング言語によって多少違う【でもほぼ同じ】
■本記事の信頼性
この記事を書いている私は、プログラミングを仕事として始めて10年以上経ちます。
今も現役のシステムエンジニアとしてプログラミングを行っています。
プログラミングを勉強する上で、変数は避けて通れないものです。
ほぼすべてのプログラミング言語に変数の概念が存在します。
知識としては必須のものとして覚えておきましょう。
とはいえ、はじめてプログラミングを勉強された方だと理解するのも難しいかもしれません。
そんな方向けに分かりやすく変数についてと使い方など、現役システムエンジニアの私が解説していきたいと思います。
変数とは
プログラミングの変数についてですが、簡単に言うと値を一時的に保持する箱のようなものだと思って頂ければいいです。
その箱を用意することにより、その箱の中に値を入れたり、使用したりすることができます。
使用するプログラミング言語によって、若干の書き方が変わりますが、以下のような感じです。
String test;
このStringと書かれているものはその変数の型を指しています。
Stringは文字列を指しています。
他にはintの数値を表す型などもあります。
testというのは変数の名前です。箱の名前だと思ってください。
変数の使い方
プログラミングの変数の使い方について解説していきます。
使い方としてはそこまで難しくなくて大きく以下の通りです。
・代入
・参照
String test; // 宣言
test = "文字列"; // 代入
System.out.print(test); // 参照
宣言
まず、変数を利用するにあたって、はじめに宣言を行う必要があります。
Javaの場合ですと以下の方式で書きます。
String test;
プログラミング言語によっては型指定をしなくてもいいケースがありますが、型自体の概念は存在することが多いので理解しておくほうがいいです。
型にはいくつか種類があります。大きく分類としてプリミティブ型と参照型とありますが、はじめは意識しなくてもいいです。(気になるようでしたら調べてみるといいと思います)
よく使用するものを以下に書いておきます。
型 | 内容 |
int | 整数 |
double / float | 少数 |
boolean | 真偽 |
String | 文字列 |
本当は使用できる数値の範囲とかがあったりするのですが、一旦ややこしい情報は省略しています。
だいたい上記を使います。その中でも「int」と「boolean」と「String」についてはどのプログラミング言語も同じように存在しています。
この型というのは、変数という箱にどういった値を入れたいかによって、宣言時に指定する型がきまります。
最後にtestの部分は変数名になります。この変数名は任意で好きな名前を指定することができます。
例えば、何かの名前の文字列を入れておきたい変数の場合は以下のように指定することができます。
String name;
金額を保持しておきたい変数の場合は以下のようにしたりなどです。
int money;
変数を定義する際は同一関数内(スコープ内)で同じ名前を使用することができませんので注意してください。
代入
続いて、代入ついて説明していきます。
簡単に言うと箱に値を入れることを代入と言います。
以下のような書き方になります。
test = "文字列";
「test」という箱に”文字列”という文字を入れています。
今回は説明の都合上、宣言と代入を分けて書いていますが、実際は宣言時に代入もあわせて書くことが多いです。
String test = "文字列";
左に代入したい変数名を記載し、右に入れたい値を書きます。
参照
最後に代入した値を参照する方法です。
参照に関しては、宣言した変数名を利用するだけです。
System.out.print(test);
System.out.printはJavaの出力を行う処理です。
かっこ内に書いた内容をログファイルやコンソールに結果を表示するものになります。
今回は変数を指定してみました。
この場合、”test”が出力されるのではなく、testの箱にいれた”文字列”が出力されることになります。
数値の場合は以下のように計算を行うことも可能です。
int a = 10;
int b = 20;
int c = a + b;
この場合、cには30が入ります。
上記のように変数名を用いることで変数に代入した値を利用することができます。
プログラミング言語によって多少違う【でもほぼ同じ】
プログラミングの変数は、どのプログラミング言語でも登場してきます。
ただし、型を明確に指定する「静的型付け」と実際に入った値で型を決める「動的型付け」の言語に大きく分かれます。
以下、紹介しておきます。
静的型付け言語
Java
先ほどから説明の例で使用しているJavaは静的型付け言語になります。
以下のように変数宣言時に明確に型を指定する必要があります。
String test; // 宣言
test = "文字列"; // 代入
System.out.print(test); // 参照
C言語
組み込み系でよく使用される言語ですが、こちらも明確に型を指定する静的型付け言語です。
char test;
test = "文字列";
printf("%s\n",test);
動的型付け言語
JavaScript
Javaと名前が似ていますが全然違うプログラミング言語です。
以下、varが型のように思えますが、これは型指定しているものではなく、これは変数の宣言ですよーというキーワードだと思ってください。他にletやconstが存在します。
文字列であっても、数値であっても宣言の仕方は変わりません。
var test;
test = "文字列";
console.log(test);
Python
画像解析やAIでよく使用されているプログラミング言語です。
他の言語と違って、明確な宣言が無くても普通に変数を使用できたりします。
test = "文字列"
print(test)
なぜ変数を使用するのか
変数について説明していきましたが、なぜプログラミング言語で変数を利用するのが一般的なのか、変数を使用することによる利点を書いていきます。
一番はやはり保守性があがるところです。
保守性というのは簡単に言うとメンテナンスのしやすさだと思って頂ければと思います。
例えば以下のようにいろんなところで同じ値を使用していたプログラムがあったとしましょう。
console.log("りんご");
console.log("りんご");
console.log("りんご");
ちょっと極端にりんごを3回出力するJavaScriptの処理を書いてみました。
もし、これをみかんを3回出力する処理に変更したいとします。あなたならどうしますか?
おそらく、「りんご」と書かれた3か所を「みかん」に変更していくと思います。
これを変数を利用すると以下の形です。
var fruit = "りんご";
console.log(fruit);
console.log(fruit);
console.log(fruit);
変数を利用することで1行目のりんごをみかんに変えるだけで済みます。
このように変数を利用することで変更箇所を少なくすることができます。
最後に
プログラミング初心者向けに変数について書いていきました。
まとめると以下のような形です。
・値の属性を示した型の指定と箱の名前を指定することで使用できる
・動的型付け言語(型指定不要)と静的型付け言語(型指定要)で書き方少し変わる
どのプログラミング言語でも変数は使用しますので、変数がどういったものかを今のうちに理解しておきましょう。
コメント