Java三元运算符与空子句

时间:2013-10-30 15:50:05

标签: java ternary-operator

这个问题更多是为了我的好奇心而不是其他任何事情。

我经常使用Java的三元运算符来编写更短的代码。但是,我一直想知道,如果其中一个ifelse条件为空,是否可以使用它。更多细节:

int x = some_function();
if (x > 0)
    x--;
else
    x++;

可以写成x = (x > 0) ? x-1 : x+1;

但是可以将if (x > 0) x-1;写为带有空 else 子句的三元表达式吗?

1 个答案:

答案 0 :(得分:13)

  

但是有可能将if (x > 0) x--;写成带有空else子句的三元表达式吗?

不,条件运算符需要三个操作数。如果你愿意,你可以这样做:

x = (x > 0) ? x - 1 : x;

...但是(主观地)我认为清晰度会受到影响。