三項演算子


ifの縮小版?

三項演算子は、? 演算子を用いて評価する式を分岐させます
これは、一行単体のif-else縮小版のようなものです
評価の結果によって、変数に代入する値を変化させるなどの場合は便利でしょう
作業の効率化を望めるので、場合によってうまく利用すると効果的です

三項演算子は条件式の結果で真と偽の二つの処理を指定するステートメントです

expr ? true_expr : false_expr;

exprがtrueであればtrue_exprを、falseであればfalse_exprを評価します
Perlユーザーに気をつけてほしいのが、Java言語の ? 演算子はPerlほど柔軟ではありません
評価するのはあくまで式であり、しかもtrue_expr,false_expr双方が同じデータ型でなければいけません
class test {
	public static void main(String args[]) {
		String str_t = "俺を変えたのは真!おまえへの執念だ";
		String str_f = "俺は妖星のユダ";

		System.out.println(true ? str_t : str_f);
	}
}
このプログラムでは、直接trueを指定しているのでかなり意味なしかもしれませんが
とりあえず三項演算子を説明するために無理やり使ってます

trueなので、str_tが評価され画面に出力されます
falseにプログラムを書き換えて、はたしてユダさんが出てくるかも試してくださいね


expr ? true_expr : false_expr

exprによって評価する式を二者択一で指定します
ただし、true_exprとfalse_exprは同じデータ型でなければいけません

true_expr - exprがtrueのときに評価する式を指定します
false_expr - exprが偽のときに評価する式を指定します



前のページへ戻る次のページへ