「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

条件演算子

pointこの用語のポイント

point演算子だよ

point「if ~ else ~」を一文で書きたいときに使うよ

スポンサーリンク

簡単に書くよ

条件演算子(読:ジョウケンエンザンシ 英:conditional operator)とは

プログラミングの話で出てくる「三項演算子」のこと。
用語の中身としては

プログラミングで出てくる演算子のひとつ
であり

「if ~ else ~」を一文で書きたいときに使う演算子
です。


image piyo

詳しく書くよ

最初に留意事項です。
プログラミングの話で出てくる『三項演算子』」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
プログラミングの話で出てくる「三項演算子」の別の呼び名が「条件演算子」です。

条件演算子

「三項演算子って何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩4

それでは、いってみましょう。
まずは予備知識として

プログラム
プログラミング
if文
三項演算子


について説明します。
特に「三項演算子」についてはガッツリ説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

プログラムは「人間様の代わりにコンピュータさんにあれこれ命令してくれるやつ」です。
このプログラムを実際に作る作業を「プログラミング」と言います。

条件演算子2

プログラミングはコンピュータさんに仕事を指示する行為です。
「この場合は、あれしろ」「この場合は、これしろ」と細かく指定していきます。

さて、このコンピュータさんに対する指示ですが、条件によって、やることを変えたい場合があります。
例えば「パンがあったらパンを食べる、パンがないけどケーキがあったらケーキを食べる、パンもケーキもなかったら暴れる」とかですね。

多くのプログラミング言語では、このような条件分岐の処理を「if文」と呼ばれる構文を使って書きます。
if文の書き方は

if(パンはある?){
 パンを食べる
}else{
 ケーキを食べる
}


のような形が一般的です。

ifの条件に一致したら、その下に行きます。
一致しなかったら、elseの下に行きます。
これがif文の書き方です。

条件演算子3

三項演算子は「if文を一文で書くときに使う演算子」です。

三項演算子を使った書き方は

条件式 ? 条件が正しいときの値 : 条件が間違っているときの値

に なります。
見やすさを考えて「?」と「:」を全角で書いていますが、本来はすべて半角で書きます。

例えば

if(変数1=="ほげ1"){
 変数2="ほげ2"
}else{
 変数2="ほげ3"
}


というプログラムのコードが あったとしましょう。
このコードは

1.変数1が「ほげ1」と同じだったら変数2に「ほげ2」を入れてね
2.違ったら変数2に「ほげ3」を入れてね


なif文です。

これを三項演算子を使って書くと

変数2=(変数1=="ほげ1") ? "ほげ2" : "ほげ3"

に なります。

条件演算子4

いかがでしょう?
見た目はややこしいですが、コンパクトになりましたよね?

とはいえ、if文を、三項演算子を使った形で書き直せるのは条件付きです。
詳しくは書きませんが、条件によって変数代入する値を変えるときのみ使えると思ってください。
条件がOKだったらあの処理とこの処理とその処理をやって~、NGだったらあっちの処理とこっちの処理をやって~、のように複雑な処理の書き換えはできません。

あとついでに、個人的な考えですが、三項演算子を使うと直感的に分かりにくくなる上に拡張性もなくなります。
処理を追加しようとすると、結局if文に書き直さないといけない場合が多いのですね。
そのため私自身は三項演算子を使わないように意識しています。

……というのが、プログラミングの話で出てくる「三項演算子」の説明です。
ここから先はプログラミングとは関係ない「三項演算子」の説明です。

世の中には「単項演算子」という演算子があります。
単項演算子は

式を書いたときに、被演算子(変数とか値)1つだけ出てくる演算子

です。

例えば、コンピュータの世界には「インクリメント演算子」という演算子があります。
このインクリメント演算子は単項演算子です。

条件演算子5

※インクリメント演算子の詳細が気になる方は、用語「インクリメント演算子」の説明を ご覧ください。

二項演算子」という演算子もあります。
二項演算子は

式を書いたときに、被演算子(変数とか値)2つ出てくる演算子

です。

例えば「1+2」という計算は被演算子が2つ(「1」と「2」)登場していますよね。
よって「+」は2項演算子です。

条件演算子6

同じ流れで考えてください。
三項演算子は

式を書いたときに、被演算子(変数とか値)3つ出てくる演算子

です。

プログラミングの話で出てくる三項演算子も、被演算子が3つ登場していますよね。

条件演算子7

本来の意味で言えば「被演算子が3つ出てくる演算子」が三項演算子です。
ただし、プログラミングの話では「if~elseを一文で書ける演算子」を指して「三項演算子」と表現していることが一般的です。

以上を踏まえて

プログラミングの話で出てくる「三項演算子」の別の呼び名

が「条件演算子」です。
具体的には

if文を一文で書くときに使う演算子

のことです。

条件演算子8

説明が回りくどくなったのは「三項演算子」という用語に

1.if文を一文で書くときに使う演算子
2.式を書いたときに、被演算子(変数とか値)が3つ出てくる演算子


の2つの意味があるからです。

この2つのうち、プログラミングの話で出てくる

1.if文を一文で書くときに使う演算子

を意図する「三項演算子」の別の呼び名が「条件演算子」です。


image piyo2

一言でまとめるよ

まぁ「条件演算子」って単語が出てきたら「if~elseをコンパクトに書ける演算子なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像039
書籍画像007

おまけ

■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
あたえる人があたえられる
おい点P、動くんじゃねえ!──ニガテ民のための算数と数学の本