a + = a ++ * a ++ * a ++ in Java. Wie wird es bewertet?

Ich bin auf dieses Problem gestoßenauf dieser Website, und habe es in Eclipse ausprobiert, konnte aber nicht verstehen, wie genau sie ausgewertet werden.

    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

Laut einem Kommentar auf der Website wird x + = x ++ * x ++ * x ++ in x = x + ((x + 2) * (x + 1) * x) aufgelöst, was sich als wahr herausstellt. Ich glaube, ich vermisse etwas an dieser Operator-Priorität.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage