Каков порядок операций при использовании двух операторов назначения в одной строке?
Код: Выделить всё
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]);
}
Я понимаю, что = принимает значения справа, но когда я компилирую это, я получаю:
Я думал, что это будет исключение ArrayOutOfBounds, но оно назначает 'a
' перед тем, как перемещается через 9. Он просто делает это для массивов?
Подробнее здесь: https://stackoverflow.com/questions/944 ... ingle-line