三項演算子

何を今更…と言われそうですが、とりあえずメモ書き

 

ちなみに、ほとんどのプログラム言語ではBoolean型はそのままif文の条件分岐に使うことができます。

phpの場合は中身がある場合でもtrueを返す場合があります。

●基本形

String msg="";

Boolean a=true;

 

if(a=true){

 //aがtrueの場合の処理

 msg="a=true";

}else{

 //aがfalseの場合の処理

 msg="a=false";

}

 

これを三項演算子に表すと

 

msg = a ? "a=true" : a="false" ;

 

こうなります。

 

DBのプロシージャと同じく、何もしないという処理をすることができないのが三項演算子の特徴です。

 

 

●発展形

三項演算子はif文と同じ挙動なのでネストさせることもできます。

 

String msg="";

Boolean a=true;

Boolean b=true;

 

if(a=true){

 //aがtrueの場合の処理

 msg="a=true";

 if(b=true){

  msg="a=true, b=true";

 }else{

  msg="a=true,b=false";

 }

}else{

 //aがfalseの場合の処理

 msg="a=false";

}

 

これを三項演算子にすると

 

msg = a = true ? b = true ? "a=true, b=true" : "a=true,b=false" : "a=false";

 

こうなります。

 

●結論

三項演算子は慣れると扱いやすい構文で、特に条件処理をだらだら書くよりも、より短くコードを書くことができます。