Java - Ordem das operações - Usando dois operadores de atribuição em uma única linha
Qual é a ordem das operações ao usar dois operadores de atribuição em uma única linha?
public static void main(String[] args){
int i = 0;
int[] a = {3, 6};
a[i] = i = 9; // this line in particular
System.out.println(i + " " + a[0] + " " + a[1]);
}
Edit: Obrigado pelas mensagens. Eu entendo que = recebe valores da direita, mas quando eu compilo isso, recebo:
9 9 6
Eu pensei que teria sido e ArrayOutOfBounds exceção, mas está atribuindo 'a [i]'ante está se movendo sobre o 9. Faz isso apenas para matrizes?