三項演算子の使用例:
名前が示すように、三項演算子には 3 つのオペランドが必要です。
構文は、condition ? result 1 : result 2; です。ここでは、疑問符 (?) の前に条件を記述し、その後に結果 1 と結果 2 をコロン (:) で区切ります。条件が満たされる場合、結果は 1 になり、そうでない場合、結果は 2 になります。
<スクリプトタイプ="text/javascript">
var b=5;
(b == 5) a="true" : a="false";
document.write(" -------------------------- " a);
結果: ------------------------ true
<スクリプトタイプ="text/javascript">
var b=true;
(b == false) a="true" : a="false";
document.write(" -------------------------- " a);
結果: ------------------------ false
プログラミング言語における三項演算子の紹介
この演算子は 3 つのオペランドを持つため、まれです。しかし、最終的には値も生成するため、これは確かに演算子の一種です。これは、この章の後のセクションで説明する通常の if-else ステートメントとは異なります。式は次の形式になります:
ブール式 ? 値 0: 値 1
「ブール式」が true と評価された場合、「値 0」が評価され、その結果が演算子によって最終的に生成される値になります。ただし、「ブール式」の結果が false の場合は、「値 1」が評価され、その結果が演算子によって最終的に生成される値になります。
もちろん、通常の if-else ステートメント (後述) を使用することもできますが、三項演算子の方がより簡潔です。 C は簡潔な言語であることを誇りに思っており、三項演算子はおそらくこの効率的なプログラミングを反映するために導入されたものですが、C を頻繁に使用する予定がある場合は、さらに最初に考える必要があります。非常に読みにくいコードが簡単に生成される可能性があります。
条件演算子は、それ自体の「副作用」、またはそれが生成する値に使用できます。ただし、演算子と if-else を明確に区別するため、通常は値とともに使用する必要があります。以下に例を示します:
static int ternary(int i) {
戻り i
上記のコードを通常の if-else 構造を使用して記述すると、コード量は上記よりもはるかに多くなることがわかります。以下に示すように:
static int alternative(int i) {
if (i
i * 100 を返します;
i * 10 を返します;
}
ただし、2 番目の形式の方が理解しやすく、追加の入力は必要ありません。したがって、三項演算子を選択するときは、必ず長所と短所を比較検討してください。