2011年07月02日

【Java】三項演算子

昨日、他の人が作ったプログラムをペソペソ修正していたら、
見慣れない記載があって、はて・・・?と一瞬悩んだ。


return hoge.equals(hoge2) ? RETURN1 : RETURN2;


こんなやつ。

これは、三項演算子ってやつで、
下記の場合、${条件式} が真の場合は ${式1} が評価され、
${条件式} が偽の場合は ${式2} が評価されるものらしい。

${条件式} ? ${式1} : ${式2}



たとえば、二つの変数 a, b があって、
大きい値の方を変数 c に入れたい場合はこんな感じ。


int a = 1;
int b = 2;
int c = (a>=b) ? a : b;


上記の場合は、下記で書いた事と同じ処理になる。


int a = 1;
int b = 2;
int c;
if(a>=b) {
c = a;
} else {
c = b;
}




三項演算子を使った方が、記載は短くなるし、
知っていれば、そこまで煩雑にならないから良いのだろう。

ただ、コードのレビューをした際には、
そこが条件分岐になっている事を見逃しやすくなったり、
そこまで一般的でもないから、あまり使わない方が良いかな〜って
思ったのだけれど、どうなんだろう・・・。
posted by ジャンボ at 14:56| Comment(0) | TrackBack(0) | 雑記:PC | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/212910766

この記事へのトラックバック