6.変数を使おう
1.変数を使おう
変数(へんすう) を使うと、図形を自動で動かしたり、いろんなことができるようになります。
2.変数とは
変数というのは、その名のとおり中身が変えられる数のことです。
int x = 10;println(x);x = 24;println(x);
int x = 10;
で、x
という名前の変数を作り(変数の宣言といいます)、同時に中身に 10
を入れています。そのあと、中身を 24
に変えています。
変数の名前は x
でも a
でも tento
でも TENTO
でもなんでもかまいません。わかりやすい名前にしましょう。ただし、数字で始まる名前や、すでにProcessingの文法で使われている単語(int
や float
などの型名そのものの単語 や if
など 構文で使われる単語など)は使用できません。
3.変数の型
上のプログラムの int
(イント)というのは、この変数xの種類で、「整数」であることを意味しています。このような変数の種類のことを、プログラミングでは「型」といいます。Processingでは、変数を使うとき変数の「型」を決める必要があります。
以下はProcessingで決められている主な型です。変数は宣言したときの型と、代入するデータの種類が合ってないとエラーになります。ただし、float型の変数に整数を代入してもエラーにはなりません。例えば整数10を代入しても、自動的に10.0として扱われます。
種類 | 値の例 | 内容 | 読み方 |
---|---|---|---|
String | "tento" "name" | 文字 | ストリング |
int | 0 6 100 -12 | 整数 | イント(integerインテジャーの略) |
char | 'a' 'Z' | 文字 | チャー(characterキャラクターの略) |
float | 1.2 0.445 | 小数付き | フロート |
boolean | true false | 真偽値 | ブーリアン |
型をどうやって決めるか?
変数に代入するデータがどんなデータかで決めます。たとえば、0→2→3→…と数をカウントするために使うのなら、整数データを入れる int
型が良いでしょう。
また、ellipse()
や rect()
で指定する座標や大きさは、元々float型 と決まっています。
Processingの各命令についてはリファレンスで確認できます。
ellipseについてのリファレンス
https://processing.org/reference/ellipse_.html
4.代入
Processingでは、=
は「同じ」という意味ではありません。右のデータを左の変数に入れるという意味です。これを代入(だいにゅう) といいます。
5.変数の中身を増やしたり減らしたりする
変数は、中身を増やしたり減らしたりできます。
変数の中身を増やす
int a = 23;a = a + 5;println(a);
ここでは、aの値(あたい)を23にしたあと、5を足しています。 a = a + 5
は、右側のデータを左に代入するということなので、 「aに5を足した数をaに代入する」 という意味です。なので、この行の後、aには 28
が入っています。
a = a + 5
は、もっと簡単に、
a += 5;
と書くこともできます。この書き方のほうが慣れると書きやすいのでこちらを使いましょう。
変数の中身を減らす
int a = 5;a = a - 8;println(a);
ここでは、aの値(あたい)を5にしたあと、8を引いています。 a = a - 8
は、 「aから8を引いた数をaに代入する」 という意味です。なので、この行の後、aには -3
が入っています。
これも同じように、
a -= 8;
と書くこともできます。
6.自動的に右に動く四角形
float x = 0;void setup(){ size(600,400);}
void draw(){ background(0); x += 5; rect(x,200,100,50);}
drawの中でxを毎回5ずつ大きくしています。rectの位置も変わっていきますね。
7.自動的に横幅が大きくなる円
float x = 100;void setup(){ size(600,400);}
void draw(){ x += 1; ellipse(300,200,x,100);}
drawの中でxが毎回1ずつ大きくなっていくので、円の横幅がどんどん大きくなっていきます。