Java expressions are evaluated following the following rules:
In the following example:
int i = method1() + method2();
the order of evaluation is:
=
operator is evaluated to the address of i
.\\+
operator (method1()
) is evaluated.\\+
operator (method2()
) is evaluated.\\+
operation is evaluated.=
operation is evaluated, assigning the result of the addition to i
.Note that if the effects of the calls are observable, you will be able to observe that the call to method1
occurs before the call to method2
.
In the following example:
int i = 1;
intArray[i] = ++i + 1;
the order of evaluation is:
=
operator is evaluated. This gives the address of intArray[1]
.