条件演算子
読み:じょうけん-えんざんし
外語:conditional operator

 プログラミング言語において、文ではなく値をもった条件式を作るための演算子
目次

概要
 プログラミング言語には概ね存在する、if〜then〜elseの条件分岐を、演算子として実装したもの。
 C/C++では三項演算子( ? : )の別名でもあるが、二項演算子である論理演算子も条件演算子の一つといえる。

特徴

種類

三項演算子
 C/C++では、三項演算子は条件演算子しかないため、条件演算子の別名として三項演算子と呼ばれることもある。この画期的な仕様は、JavaJavaScriptC#PerlPHPRubyなどなど、その後のCの派生言語や派生スクリプト言語に広く継承されることになった。
 書式は次のとおりである。
 <条件式> ? <真式> : <偽式>
 条件式がtrueであれば真式、falseなら偽式が選択される。

二項演算子
 二項の論理演算子も、考え方によっては値を持った条件式を作るための演算子としてみなし、機能させることが可能である。
 <条件式> && <真式>
 <条件式> || <偽式>
 && の場合、条件式が真の場合、次の真式が評価されその結果が返される。条件式が偽であれば条件式の結果である偽がそのまま返される。
 || の場合、条件式が真の場合であれば条件式の結果である真がそのまま返され、条件式が偽であれば次の偽式が評価されその結果が返される。

その他の実装
 2008より前のVisual BasicおよびVBAには、同様の目的の関数Iifが存在した。
 Iif(<条件式>, <真式>, <偽式>)
 2008以降のVisual BasicではIf演算子が用意された。二種類の書き方が可能である。
 If(<条件式>, <真式>, <偽式>)
 If(<式1>, <式2>)
 条件式を書く引数3個のものは、条件式の真偽によっていずれかを選ぶためif〜then〜elseの機能を有している。
 条件式を書かない引数2個のものは、式1がNothingでなければ式1を、式1がNothingであれば式2を選択する。なお、Nothingは他のプログラミング言語ではnullに相当するものである。

再検索