这个问题更多是为了我的好奇心而不是其他任何事情。
我经常使用Java的三元运算符来编写更短的代码。但是,我一直想知道,如果其中一个if
或else
条件为空,是否可以使用它。更多细节:
int x = some_function();
if (x > 0)
x--;
else
x++;
可以写成x = (x > 0) ? x-1 : x+1;
但是可以将if (x > 0) x-1;
写为带有空 else 子句的三元表达式吗?
答案 0 :(得分:13)
但是有可能将
if (x > 0) x--;
写成带有空else子句的三元表达式吗?
不,条件运算符需要三个操作数。如果你愿意,你可以这样做:
x = (x > 0) ? x - 1 : x;
...但是(主观地)我认为清晰度会受到影响。