条件演算子
演算子だよ
「if ~ else ~」を一文で書きたいときに使うよ
簡単に書くよ
条件演算子(読:ジョウケンエンザンシ 英:conditional operator)とは
プログラミングの話で出てくる「三項演算子」のこと。
用語の中身としては
プログラミングで出てくる演算子のひとつ
であり
「if ~ else ~」を一文で書きたいときに使う演算子
です。
詳しく書くよ
最初に留意事項です。
「プログラミングの話で出てくる『三項演算子』」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
プログラミングの話で出てくる「三項演算子」の別の呼び名が「条件演算子」です。
「三項演算子って何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

それでは、いってみましょう。
まずは予備知識として
・プログラム
・プログラミング
・if文
・三項演算子
について説明します。
特に「三項演算子」についてはガッツリ説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
プログラムは「人間様の代わりにコンピュータさんにあれこれ命令してくれるやつ」です。
このプログラムを実際に作る作業を「プログラミング」と言います。
プログラミングはコンピュータさんに仕事を指示する行為です。
「この場合は、あれしろ」「この場合は、これしろ」と細かく指定していきます。
さて、このコンピュータさんに対する指示ですが、条件によって、やることを変えたい場合があります。
例えば「パンがあったらパンを食べる、パンがないけどケーキがあったらケーキを食べる、パンもケーキもなかったら暴れる」とかですね。
多くのプログラミング言語では、このような条件分岐の処理を「if文」と呼ばれる構文を使って書きます。
if文の書き方は
if(パンはある?){
パンを食べる
}else{
ケーキを食べる
}
のような形が一般的です。
ifの条件に一致したら、その下に行きます。
一致しなかったら、elseの下に行きます。
これがif文の書き方です。
三項演算子は「if文を一文で書くときに使う演算子」です。
三項演算子を使った書き方は
条件式 ? 条件が正しいときの値 : 条件が間違っているときの値
に なります。
見やすさを考えて「?」と「:」を全角で書いていますが、本来はすべて半角で書きます。
例えば
if(変数1=="ほげ1"){
変数2="ほげ2"
}else{
変数2="ほげ3"
}
というプログラムのコードが あったとしましょう。
このコードは
1.変数1が「ほげ1」と同じだったら変数2に「ほげ2」を入れてね
2.違ったら変数2に「ほげ3」を入れてね
なif文です。
これを三項演算子を使って書くと
変数2=(変数1=="ほげ1") ? "ほげ2" : "ほげ3"
に なります。
いかがでしょう?
見た目はややこしいですが、コンパクトになりましたよね?
とはいえ、if文を、三項演算子を使った形で書き直せるのは条件付きです。
詳しくは書きませんが、条件によって変数に代入する値を変えるときのみ使えると思ってください。
条件がOKだったらあの処理とこの処理とその処理をやって~、NGだったらあっちの処理とこっちの処理をやって~、のように複雑な処理の書き換えはできません。
あとついでに、個人的な考えですが、三項演算子を使うと直感的に分かりにくくなる上に拡張性もなくなります。
処理を追加しようとすると、結局if文に書き直さないといけない場合が多いのですね。
そのため私自身は三項演算子を使わないように意識しています。
……というのが、プログラミングの話で出てくる「三項演算子」の説明です。
ここから先はプログラミングとは関係ない「三項演算子」の説明です。
世の中には「単項演算子」という演算子があります。
単項演算子は
式を書いたときに、被演算子(変数とか値)が1つだけ出てくる演算子
です。
例えば、コンピュータの世界には「インクリメント演算子」という演算子があります。
このインクリメント演算子は単項演算子です。
※インクリメント演算子の詳細が気になる方は、用語「インクリメント演算子」の説明を ご覧ください。
「二項演算子」という演算子もあります。
二項演算子は
式を書いたときに、被演算子(変数とか値)が2つ出てくる演算子
です。
例えば「1+2」という計算は被演算子が2つ(「1」と「2」)登場していますよね。
よって「+」は2項演算子です。
同じ流れで考えてください。
三項演算子は
式を書いたときに、被演算子(変数とか値)が3つ出てくる演算子
です。
プログラミングの話で出てくる三項演算子も、被演算子が3つ登場していますよね。
本来の意味で言えば「被演算子が3つ出てくる演算子」が三項演算子です。
ただし、プログラミングの話では「if~elseを一文で書ける演算子」を指して「三項演算子」と表現していることが一般的です。
以上を踏まえて
プログラミングの話で出てくる「三項演算子」の別の呼び名
が「条件演算子」です。
具体的には
if文を一文で書くときに使う演算子
のことです。
説明が回りくどくなったのは「三項演算子」という用語に
1.if文を一文で書くときに使う演算子
2.式を書いたときに、被演算子(変数とか値)が3つ出てくる演算子
の2つの意味があるからです。
この2つのうち、プログラミングの話で出てくる
1.if文を一文で書くときに使う演算子
を意図する「三項演算子」の別の呼び名が「条件演算子」です。
一言でまとめるよ
まぁ「条件演算子」って単語が出てきたら「if~elseをコンパクトに書ける演算子なんだな~」と お考えください。
おまけ
■検索してみる?






