Java - порядок операций - использование двух операторов присваивания в одной строке

Каков порядок операций при использовании двух операторов присваивания в одной строке?

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]);
}

Редактировать: Спасибо за сообщения. Я получаю, что = принимает значения справа, но когда я компилирую это, я получаю:

9 9 6

Я думал, что это будет и исключение ArrayOutOfBounds, но он присваивает 'a [i]'до он перемещается через 9. Это просто делает это для массивов?

Ответы на вопрос(4)

Ваш ответ на вопрос