Java Reference
In-Depth Information
PreIncrementExpression
PreDecrementExpression
+ UnaryExpression
- UnaryExpression
UnaryExpressionNotPlusMinus
PreIncrementExpression:
++ UnaryExpression
PreDecrementExpression:
-- UnaryExpression
UnaryExpressionNotPlusMinus:
PostfixExpression
~ UnaryExpression
! UnaryExpression
CastExpression
Expressions with unary operators group right-to-left, so that -~x means the same as -(~x) .
15.15.1. Prefix Increment Operator ++
A unary expression preceded by a ++ operator is a prefix increment expression.
The result of the unary expression must be a variable of a type that is convertible (§ 5.1.8 )
to a numeric type, or a compile-time error occurs.
The type of the prefix increment expression is the type of the variable. The result of the
prefix increment expression is not a variable, but a value.
At run time, if evaluation of the operand expression completes abruptly, then the prefix in-
crement expression completes abruptly for the same reason and no incrementation occurs.
Otherwise, the value 1 is added to the value of the variable and the sum is stored back into
the variable. Before the addition, binary numeric promotion (§ 5.6.2 ) is performed on the
value 1 and the value of the variable. If necessary, the sum is narrowed by a narrowing
primitive conversion (§ 5.1.3 ) and/ or subjected to boxing conversion (§ 5.1.7 ) to the type of
the variable before it is stored. The value of the prefix increment expression is the value of
the variable after the new value is stored.
Note that the binary numeric promotion mentioned above may include unboxing con-
version (§ 5.1.8 ) and value set conversion (§ 5.1.13 ) . If necessary, value set conversion
is applied to the sum prior to its being stored in the variable.
Search WWH ::




Custom Search