According to the Java Language Specification §15§15.7, "Evaluation Order"
The Java programming language guarantees that the operands of operators appear to be evaluated in a specific evaluation order, namely, from left to right.
§15§15.7.3, "Evaluation Respects Parentheses and Precedence" of the Java Language Specification adds
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="1b99d9143f11924a-67ca5178-41c44d19-be65a60a-2e207d55000408da86e7947e"><ac:plain-text-body><![CDATA[ | [[JLS 2005 | AA. Bibliography#JLS 05]] | [§15§15.7, "Evaluation Order" | http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.7] | ]]></ac:plain-text-body></ac:structured-macro> |
| §15§15.7.3, "Evaluation Respects Parentheses and Precedence" |
...
EXP07EXP04-J. Understand the differences between bitwise and logical operatorsDo not perform assignments in conditional statements 02. Expressions (EXP) EXP09-J. Do not use side-effecting expressions in assertions