*Processing講座 第二回 [#g6bf4958] **変数 [#p53a1a49] プログラミングにおいて、扱われるデータを一時的に保存しておかなければなりません。~ プログラム上で、必要な時にデータを自由に利用できるよう、データの記憶領域に任意の名前を与えて管理できるようにしたものを変数といいます。~ 変数を利用するためには、プログラム上で名前を宣言する必要があります。~ Processingにおいて変数の宣言方法は以下のようになります。 型 変数名; ***型 [#d6c49a7d] 利用するデータによって宣言の仕方が変わります。~ Processingでよく使われる基本的なものをまとめたのが次の表です。~ |名前|扱うデータ|値の範囲| |int|整数|-2,147,483,648 ~ 2,147,483,647| |float|浮動小数点数|-3.40282347^38 ~ 3.40282347^38| |double|浮動小数点数|2.225074^-308 ~ 1.797693^308| |boolean|論理値|true または false| |char|文字(1文字)|A~z、0~9、記号| |String|文字列|日本語を含むあらゆる文字| |color|色|RGB各色0~255| |PImage|画像|PNG、JPG、GIF| 同じ数値を扱う型でも様々な型があります。用途に応じた型の使い分けが大切です。 ***代入 [#kdab856c] 宣言した変数に対して実際にデータを入れることを「代入」といいます。~ 宣言された変数の中身は空っぽで、このままではデータを扱うことができません。~ 以下のようにして変数に値を代入します。 変数名 = 値; これで変数の中身が値となります。代入操作は何回でも行うことができます。~ ちなみに、変数を宣言して初めて代入を行う操作のことを「初期化」と言います。 ***変数と代入の使用例 [#da83de9e] 四角形の座標を指定~ int x = 114; int y = 514; rect(x,y,8,10); ↓ 同じ座標に円を描く場合~ ellipse(x,y,19,19); **算術演算 [#q126a473] 変数の中身が数値ならば当然計算することも可能です。 Processingにおける四則演算は以下のようになっています。 int a,b,c; と宣言した時aとbの四則演算の結果をcに代入するならば //足し算 c = a + b; //引き算 c = a - b; //掛け算 c = a * b; //割り算 c = a / b; このように四則演算を行います。 ***算術演算子 [#z11cde44] Processingで使える演算子は以下の通りです。 |記号|説明| |+|加算| |-|減算| |*|乗算| |/|除算| |%|余り算| |&|AND| |||OR| |^|XOR| |<<|左シフト| |>>|右シフト| **代入演算子 [#ka928675] 代入演算子は自分自身の値を使って、自分自身を更新するということができます。~ 例えば i = i + 1; という計算を行いたい場合、 i += 1; と書くことで同じ意味を示します。~ 代入演算子は演算子の数だけ用意されています。~ |記号|説明| |+=|加算| |-=|減算| |*=|乗算| |/=|除算| |%=|余り算| |&=|AND| ||=|OR| |^=|XOR| |<<=|左シフト| |>>=|右シフト| **比較演算子 [#c1cc6829] 変数は別の変数や数字と比較することができます。結果が正しい場合は0以外、間違っている場合は0が値となります。~ 比較演算子は以下の通りです。~ |記号|説明| |<|左が右より小さい| |>|左が右より大きい| |<=|左が右以下| |>=|左が右以上| |==|左と右は等しい| |!=|左と右は異なる| |&&|左かつ右| ||||左もしくは右| 比較演算子の使用例として条件分岐命令のif構文を紹介します。~ if(条件1) { 条件1が真の時の処理 }else if(条件2) { 条件2が真の時の処理 }else { すべての条件が偽の時の処理 } if文は条件ごとに処理を行いたい場合に利用し、else ifやelseを省略して書くこともできます。~ 条件の部分に比較演算子を使い、条件分岐させる場合が多いです。~ *その他 [#r7838024] &size(20){Processingを扱うにあたって知っておくべき関数};~ 最初に一回だけ実行する関数 void setup(){ やりたい処理をここに書く } 連続して実行する関数 void draw(){ やりたい処理(ry } とりあえずこう書いておけばいいんだなと思っておいてください。~ 関数に関しては次回詳しくやります。