Предполагается, что вы имели в виду
int a=5; int i;
i=++a + ++a + a++;
System.out.println(i);
a=5;
i=a++ + ++a + ++a;
System.out.println(i);
a=5;
a=++a + ++a + a++;
System.out.println(a);
Это дает оценку:
i = (6, a is now 6) + (7, a is now 7) + (7, a is now 8)
, поэтому я равен 6 + 7 + 7 = 20, и поэтому выводится 20.*
, поэтому я равен 5 + 7 + 8 = 20, и поэтому снова печатается 20.
a = (6, a is now 6) + (7, a is now 7) + (7, a is now 8)
и после того, как вся правая часть оценена (включая установку a в 8), ТО аустановите значение 6 + 7 + 7 = 20, поэтому в последний раз будет напечатано 20 символов.