我们可以写一个没有返回值的三元运算符

时间:2014-12-03 09:38:12

标签: java ternary-operator

我的代码中有三元运算符,我不想从三元运算符中返回任何值...

我可以写一个三元运算符,返回值为 void ...

示例:

int a = 10;
int b = 20;

我可以写为

(a<b ? a+=b : a-=b);

它显示错误,如

The left-hand side of an assignment must be a variable

谢谢......

2 个答案:

答案 0 :(得分:7)

  

我可以编写一个返回值为null

的三元运算符

不,你不能。

你可以做的事情是:

a = a<b ? a+b : a-b;

甚至:

a += a<b ? b : -b;

答案 1 :(得分:4)

不,三元运算符本身就是表达式,所以它必须求值。 a += b;语句,将其置于三元组中并不具有语法意义。

无论

  1. a += a < b ? b : -b;
    1. 以明显的方式使用ifelse
    2. 在工程代码中,(1)非常惯用。