if, else if, else ーExpressive Programming

さて、次は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 &lt;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つ以上の条件に当てはまるかどうかという判断にも使えます。
ですから、原理は簡単ですが非常に色々な用途に使える構文なのです。