第2講 文字を入れる箱を活用しよう

第1話 数字や文字を入れる箱

普通の講義でしたら、第1話の名称は変数ですし、
第2講の名称は文字型変数でしょう。
ですが、本講義は一切専門用語を使用しないで説明するという方針をとって進めていますので、
変数のことを箱と呼びます。
箱は、モノを保管する、分別・整理してモノを収める、という機能があります。
例えば、引っ越しの時にマジックで下着や本などと書いた箱を用意して、
下着は下着とマジックで書いてある箱に、本は本とマジックで記した箱に入れたりします。
あるいは、当面は使いそうもないものも
冬物などとマジックで書いた箱に入れて押し入れに入れて保管したりします。
プログラミングで出てくる箱(変数)もモノを保管したり、分別・整理する機能を持ちます。
ただし、プログラミングで出てくるモノは、文字と数字のみです。
ですから、文字を入れる箱と数字を入れる箱を用意すれば、
プログラミングの場合は十分なわけです。
第2講で学ぶのは、文字を入れる箱の活用についてです。
第3講では、数字を入れる箱の活用について考えます。

箱を用意にするには、箱を用意するという言葉を述べればよいのです。
もっとわかりやすくいえば、箱の呪文を述べればよいのです。
例えば、整数を入れる箱を用意するときの呪文は、
int a;
です。
intは整数のintegerの最初の3文字で整数を意味します。
aは用意した箱の名前です。
この文を変数の宣言文といいます。
ですから、呪文の意味は
整数を入れる箱を用意して、その箱の名前をaと宣言(定義)するするという意味です。
定義という言葉に抵抗があるのでしたら、
整数を入れる箱を用意して、その箱にマジックでaと書き込むということです。
つまり、マジックでaと書かれた整数を入れる箱を用意するという意味です。

では文字を入れる箱を用意する呪文は何でしょうか。
string b;
です。この呪文によって、マジックでbと書かれた文字を入れる箱が用意されるのです。

箱の名前を変数名といいます。
int a;
でしたら変数名はaですし、
String b;
ならば変数名はbです。
p1
(これから変数名のことを、箱のラベルとも記します。)

箱の名前にすぎないのにいろいろな入門書や入門サイトは、
変数名を
int a_integer;

string Name
などと書くように推奨していますが、
私は、変数名をこのように意味ありげに書くことが、
初心者を困惑させる大きな原因の一つになっていると考えています。
英単語で書くと、初心者はそこに意味があると思ってしまいます。
ですが、実は変数名自体には何の意味もないのです。
他と区別するという意味以外には。
同様な箱を2つ用意したときに、マジックで何も書かれていなければ、
箱を区別できません。
そこで箱を区別するために、マジックでaと書いたりbと書いたりするだけなのです。
自分で何の箱であるかがわかればよいのです。
ですから、禁則を犯さなければ変数名=箱の名前は自由につけられのです。
では、禁則とは何でしょうか。
* アルファベット・数字・_(アンダーバー)以外の記号(例えば、/や\など)は使えない。
* 基本は半角
* 数字を先頭にもってきてはいけない。
です。
以上の禁則を守れば、箱の名前は自由につけられます。

確かに、箱がたくさん出てくるとaという名前をつけたのでは、
何を入れる箱であったかわからなくなります。
ですから、
int a_integer;
と書くことを推奨するわけですが、
私は、むしろ次のように書くことをおすすめします。
int a; //aは整数を入れる箱
//aは整数を入れる箱 は注釈文といわれるものです。
コンピュータは『//』のついてある文を無視します。
ですから、
int a; //aは整数を入れる箱
と書いてあっても、コンピュータにとっては
int a;
と同じなのです。
注釈文は、コンピュータのためにあるのではなく、
プログラムの文章を読む人間のためにあるのです。
int a; //aは整数を入れる箱
のように書けば、aが何を入れる箱であったかがわからなくなる心配はありません。
//aは整数を入れる箱をプログラムの文章のあちらこちらにコピペで貼り付けておけば、
何を入れる箱であるかがわからなくなることはありません。


専門用語を覚えよう!
この話で述べている
は、専門用語では変数です。
//』がついてある文を注釈文といいます。
/*
・・・
・・・
・・・
*/
となっているときは、
/**/で挟まれた部分が注釈文となります。
コンピュータは、注釈文を読み飛ばします。
皆さん、変数・注釈文と20回声に出して、覚えましょう。
比喩でいっていることの本当の姿!
箱を用意すると比喩でいっていることは、実際には、
文字や数字を入れる一定容量のメモリーを割り当てることです。
メモリー(記憶装置)にはアドレス(番地)がありますので、
x番地からy番地までを、ものを入れる領域として割り振ります。
箱に入れるものの種類(文字or整数or長整数or小数など)によって、
割り当てられるメモリー容量が異なりますので、
割り当てられるy番地とx番地の差も容量に比例します。
大は小を兼ねますので、最初から大きい箱(大きなメモリー)を用意してもよいわけですが、
メモリーの大きさは処理速度に大きく影響します。
ですから、できるだけ小さな箱を用意するようにしましょう。




第1講第7話へ 第2話へ

a

初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部

初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ

VC++入門
VBA入門
専門用語なしのVBA入門
VB入門
初心者のためのEclipseによるJava入門