何时何地使用三元运算符?

时间:2014-01-10 03:34:05

标签: operators ternary-operator

我经常在书中阅读三元运算符(?:),但我不清楚它的最佳实践。 它的优缺点或最佳实践是什么?

2 个答案:

答案 0 :(得分:6)

三元运算符? :表示if-then-else构造,除了它实际返回一个值。所以而不是:

if ( condition )
    x = expression1;
else
    x = expression2;

你可以写:

x = (condition) ? (expression1) : (expression2);

在C,C ++,Java等中,你不能写:

x = if (condition) (expression1) else (expression2);

某些语言(如Ruby)确实允许这样的表单,但是,因为Ruby中的语句总是返回一个值,而块的值是块中最后一个语句返回的值。

答案 1 :(得分:0)

您可以将操作符用作

int nNum1 = 10, nNum2 = 20, nMax = ( nNum1 > nNum2 ) ? nNum1 : nNum2

它是简单的if-else比较的简写,其中根据比较结果分配变量。