int result = 5;
result = result--;
System.out.println(result);
Why is the result equal to 5?
Because the value of the expression result-- is the value of result before the decrement. Then result is decremented and finally the value of the expression is assigned to result (overwriting the decrement).
This does nothing :
result = result--;
Because result-- returns the value of result before it is decremented (contrary to --result which returns the value of result after it is decremented).
And as the part to the right of = is executed before the =, you basically decrement result and then, on the same line, set result to the value it had before the decrement, thus canceling it in practice.
So you could write
result = --result;
But if you want to decrement result, simply do
result--;
(or --result; but it's very unusual and atypical to use it on its own, don't do it when you don't want to use the result of the expression but simply want to decrement)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With