Java Reference
In-Depth Information
A NullPointerException never occurs, because the index expression must be com-
pletely evaluated before any part of the array access occurs, and that includes
the check as to whether the value of the array reference expression is null .
15.14. Postfix Expressions
Postfix expressions include uses of the postfix ++ and -- operators. Names are not con-
sidered to be primary expressions (§ 15.8 ) , but are handled separately in the grammar to
avoid certain ambiguities. They become interchangeable only here, at the level of preced-
ence of postfix expressions.
PostfixExpression:
Primary
ExpressionName
PostIncrementExpression
PostDecrementExpression
15.14.1. Expression Names
The rules for evaluating expression names are given in § 6.5.6 .
15.14.2. Postfix Increment Operator ++
A postfix expression followed by a ++ operator is a postfix increment expression.
PostIncrementExpression:
PostfixExpression ++
The result of the postfix 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 postfix increment expression is the type of the variable. The result of the
postfix increment expression is not a variable, but a value.
At run time, if evaluation of the operand expression completes abruptly, then the postfix
increment expression completes abruptly for the same reason and no incrementation oc-
curs. 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 postfix increment expression is the value
of the variable before the new value is stored.
Search WWH ::




Custom Search