Почему вывод в этом примере 1?
public static void main(String[] args){
int[] a = { 1, 2, 3, 4 };
int[] b = { 2, 3, 1, 0 };
System.out.println( a [ (a = b)[3] ] );
}
Я думал, что это будет 2. т.е. выражение оценивается как:
a[(a=b)[3]]
a[b[3]] //because a is now pointing to b
a[0]
Разве a[0] не должно быть 2, потому что a указывает на b?
Спасибо заранее.