まず、やはり変数(variable)の理解がプログラミング言語の理解の第一段階でしょう。
変数の英語名はvariableといって、「変化する数」という意味です。
非常に一般的な解釈の仕方は、変数とはメモリの中にある箱で、その箱の中に数値が入るという考え方です。
例えば、以下の式は下図のように解釈できます。(intの意味は「4. 変数の型」で説明します)
1 2 3 | int a = 1; int b = 10; int c = 4; |

例えば、変数aの箱には1を入れ、変数bの箱には10を入れ・・・
といった意味になります。
a = 1という式なので、数学で習った式と同じように考えてしまいがちですが、この式はプログラミングの場合、「aの箱に1という値を入れる」という意味です。この時、必ず右の値が左の箱に入ります。
それでは、次の式はどうでしょう。
1 2 3 4 5 | int a; int b = 10; int c = 4; a = b + c; |

初めに、何も値を入れていない変数aを設定し、その次に変数b、cにはそれぞれ値を入れます。そして変数b、 cの値を箱の中から取り出して足したものを変数aに入れるという式になります。つまり、a = 14ですね。
どうでしょうか?このような形で値を入れ替えていけば、様々な計算が可能になります。
当然、変数のはこの中に入った値は変えられなければ何もプログラムできません。
そこで、上記の式に使われている”+”のように、計算をするための演算子というものが用意されています。
このような形で、どのような数値も入れられる変数なのですが、その仕組みは一体どうなっているのでしょうか?
変数、変数と言っても、要はパソコンのメモリにある一定のスペースを確保し、そこに数値を記憶させるということなのです。メモリは分かりますか?パソコンを買う際に512MBとか1GのRAMなどという表記を見たことがありますよね?これは、パソコンの中に組み込まれている小さなチップです(下の写真)。

ここで覚えておかなくてはならないことがあります。ビット(bit)とバイト(byte)という言葉です。
似たような言葉なので混同しがちですが、全く違う意味の言葉です。
知っている人もいると思いますが、パソコンという機械は0か1の情報、電気が流れているか流れていないか、という情報しか扱えません。ONとOFFしかないスイッチのようなものです。しかし、パソコンはそのスイッチを大量に持っていて、0か1という情報を瞬時に処理するため、どんな複雑な計算でも出来るのです。その0と1を判断する機構、メモリの最小単位がビットと呼ばれます。
そして、1ビットが8つ集まって1バイトとなります(下図参照)。基本的に変数はこの1バイトを基準にして決められています。

1バイトは2の8乗(2x2x2x2x2x2x2x2=256)ですから256通りのパターンがあります。これは数値で言うと0〜255通りの数値が選択できるということです。
ですから、例えばbyte型の変数aを設定した場合、このaには127から-128までの数値しか入れることができません。
どうですか、何となくでもビットとバイトの関係が分かってきましたか?このことは次の項の変数の型を理解するためには必要不可欠なので、よく分からないまま、変数の型を読まない方がいいでしょう。
それでは、変数の型を理解しましょう。
先ほどの項からも繋がりますが、変数の型を宣言するというのは、何バイトのスペースをメモリ上に確保するかということなのです。下がそれぞれの変数が何バイトを必要とするかを表わす図表です。
変数はそれぞれの言語によって少しずつ違います。以下はProcessingの変数の表です。
少しややこしいところは、例えばintなどの同じ名前でもC言語などではパソコンの種類によってバイト数が違ったりすることもあります。基本的にはバイト数はそんなに気にする必要はないですが、原理的なことだけは覚えておいて下さい。
|
分類
|
型名
|
サイズ
|
値の範囲
|
初期値
|
|---|---|---|---|---|
|
整数
|
byte
|
1byte
|
127 〜 -128
|
0
|
|
整数
|
int | 4bytes | 2,147,483,647 〜 -2,147,483,648 | 0 |
|
浮動小数点数
|
float | 4bytes | 3.40282347E+38 〜 -3.40282347E+38 | 0.0F |
|
文字
|
char | 2bytes | 文字と記号 | |
|
色
|
color | 4bytes | (0, 0, 0, 0)〜(255, 255, 255, 100) | (0, 0, 0, 0) |
|
真偽値
|
boolean
|
1bit
|
trueまたはfalse
|
false
|
ここで、例としてchar型とint型を見てみましょう。下図を見て下さい。

char型は2バイト、int型はその倍の4バイトを使います。このようにして、変数を宣言するとその型によって、メモリ上に確保されるスペースに違いが出てきます。つまり、変数の型を宣言するということは、箱の大きさを決めるということなのです。
それでは、例題をやってみましょう。下の図を見ると、別の場所で同じ変数が使われています。変数の値を色々変えながらこのコードをProcessing上で実行してみてください。
ellipse();は円を描くメソッドです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | int a = 10; //円同士の間隔を設定 int eSize = 2; //円のサイズを設定 size(100, 100); background(255); ellipse(0, 0, eSize, eSize); //円(ellipse)を描く ellipse(a, a, eSize, eSize); ellipse(2*a, 2*a, eSize, eSize); ellipse(3*a, 3*a, eSize, eSize); ellipse(4*a, 4*a, eSize, eSize); ellipse(5*a, 5*a, eSize, eSize); ellipse(6*a, 6*a, eSize, eSize); ellipse(7*a, 7*a, eSize, eSize); ellipse(8*a, 8*a, eSize, eSize); ellipse(9*a, 9*a, eSize, eSize); ellipse(10*a, 10*a, eSize, eSize); |
Sorry, comments are closed.