Порядок работы в Java [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Порядок работы в Java [закрыто]

Сообщение Anonymous »

Мне сложно отследить и понять, как Java обрабатывает следующий код:

Код: Выделить всё

// Java
int   i = 0;
int[] a = {10, 20, 30, 40, 50, 60};

a[++i] = a[i++] = a[++i] = ++i;
System.out.println(Arrays.toString(a));
// [10, 4, 30, 4, 50, 60]
При запуске выводятся числа [10, 4, 30, 4, 50, 60].
Мы можем даже упростить этот пример:

Код: Выделить всё

int   i = 0;
int[] a = {10, 20};

a[i] = ++i;
System.out.println(Arrays.toString(a));
// [1, 20]
Я ожидал, что это выведет [10, 1], потому что сначала правая часть. Но результат — [1, 20], но как?

Подробнее здесь: https://stackoverflow.com/questions/793 ... on-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»