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. Это только для массивов?

13
задан HSeldon 25 February 2012 в 03:25
поделиться