さて、次はif、 else if、 elseといった条件分岐を学びます。この構文は、比較的理解しやすいものの一つでしょう。
先ほどの”変数”の項での例題を少し変えてif文を使ってみます。int eSizeの値を色々変えて実行してみて下さい。
if
(もし〜だったら)
1 2 3 4 5 6 7 8 9 10 11 12 | int a = 10; //円同士の間隔を設定 int eSize = 4; //円のサイズを設定 size(100, 100); background(255); if(eSize >= 5){ noStroke(); //円の縁を描かない fill(127); //円をグレーにする 0~255の値が入る 0は黒、255は白 } ellipse(5*a, 5*a, eSize, eSize); //円(ellipse)を描く |
すると、eSizeが5かそれ以上の時だけに、グレーの縁なしの円が画面の中央に描かれます。
構文は以下の通りです。if文の条件式はかならず{}(ブレース)で囲まれます。
if(条件式) { 条件文 } |
同じように、else ifやelseによっても様々な条件分岐が可能になります。次の式では、if、 else if、 elseを全て使っています。これも、eSizeの値を変えて実行してみて下さい。
else if (もしくは〜だったら)
else (さもなくば)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | int a = 10; //円同士の間隔を設定 int eSize = 5; //円のサイズを設定 size(100, 100); background(255); noStroke(); //円の縁を描かない if(eSize < 5){ //もしeSizeが5より小さかったから fill(255, 0, 0); //円を赤にする }else if(eSize >= 5 && eSize <10){ //もしくはeSizeが5以上でなおかつ10より小さかったから fill(0, 255, 0); //円を緑にする }else{ //上記の条件以外だったら fill(0, 0, 255); //円を青にする } ellipse(5*a, 5*a, eSize, eSize); //円(ellipse)を描く |
構文は以下の通りです
1 2 3 4 5 6 7 | if(条件式) { 条件文 }else if(条件式) { 条件文 }else{ 条件文 } |
条件式に使われる演算子は以下を参照して下さい。
Processingで使われる演算子
どうでしょうか。if文は”eSize >= 5 && eSize <10″のように2つ以上の条件に当てはまるかどうかという判断にも使えます。
ですから、原理は簡単ですが非常に色々な用途に使える構文なのです。