Correct for assignments, but you need to account for the fact that array reference subexpressions are evaluated first, before the assignments take place. So the assignment steps becomes:
Sorry Ahmed, but assignment operations are right associative - the gotcha is the array subexpression reference is evaluated first. The poster is correct in believing assignments are evaluated from the right.
Assignment operators are Right associative which means:
a = b += c = 5; is translated to: a = (b += (c = 5))
But that said nothing about Operands evaluation which is always left to right 'a' 'b' 'c' are evaluated in this order. And its true the dimension expression for arrays is evaluated first, but its irrelevant to this topic. Read JLS sections 15.7.1 and 15.7.2
Sorry Ahmed, but I misinterpreted what you meant. I think it would have been clearer if you'd said that the java language requires all operands to be fully evaluated before operations take place, which means that the array subexpression has already been evaluated before the assignments were evaluated. I appreciate my statement should have been clearer as to this as well.