[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

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

三項演算子

pointこの用語のポイント

pointプログラミングで出てくる演算子だよ

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

スポンサーリンク

簡単に書くよ

三項演算子とは

プログラミングにおいて「if ~ else ~」を一文で書きたいときに使う演算子のこと
です。

image piyo

詳しく書くよ

順番に見ていきましょう。

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

三項演算子

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

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

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

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


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

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

三項演算子2

ここまでが前振りです。

このif文を条件付きで一つにまとめて書く方法があります。
そのときに使う演算子が「三項演算子」です。

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

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

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

例えば

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


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

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


な命令文です。

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

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

になります。

三項演算子3

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

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

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

image piyo2

一言でまとめるよ

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

一番上に戻るよ
スポンサーリンク