Reputation: 8356
This question is more for my curiosity than anything else.
I often employ Java's ternary operator to write shorter code. I have been wondering, however, whether it is possible to use it if one of the if
or else
conditions are empty. In more details:
int x = some_function();
if (x > 0)
x--;
else
x++;
can be written as x = (x > 0) ? x-1 : x+1;
But is it possible to write if (x > 0) x-1;
as a ternary expression with an empty else clause?
Upvotes: 7
Views: 5984
Reputation: 1074335
But is it possible to write
if (x > 0) x--;
as a ternary expression with an empty else clause?
No, the conditional operator requires three operands. If you wanted, you could do this:
x = (x > 0) ? x - 1 : x;
...but (subjectively) I think clarity suffers.
Upvotes: 15