I\'ve read Oracle\'s expressions tutorial and couldn\'t understand this.
It is well known that the following line of code is valid Java syntax:
new O
Creating an object or calling or method can have side effects, I think this is the main reason for this, whereas nothing will ever happen with an arithmetic expression.