+ + a ++ * a ++ * a ++ в Java. Как это оценивается?
Я сталкивался с этой проблемойна этом сайтеи попробовал это в Eclipse, но не смогне понимаю, как именно они оцениваются.
int x = 3, y = 7, z = 4;
x += x++ * x++ * x++; // gives x = 63
System.out.println(x);
y = y * y++;
System.out.println(y); // gives y = 49
z = z++ + z;
System.out.println(z); // gives z = 9
Согласно комментарию на сайте, x + = x ++ * x ++ * x ++ преобразуется в x = x + ((x + 2) * (x + 1) * x), что оказывается верным. Я думаю, что что-то упущено в этом приоритете оператора .; ,