需要解释JVM如何评估java中的运算符优先级

时间:2018-02-15 00:36:51

标签: java

目前我正在为OCAJP考试做准备,我得到了类似的问题,这样的解释并不令人满意。   问题:

//一些代码

int a=2;
int c=6;
int v=a+c*(a=3);
System.out.println(v);

为什么v打印为20而不是21? 因为我知道(*)运算符将首先评估。但在这里它是从左到右的规则评估。同样(a = 3)在括号中,所以无论如何它应该首先评估。

0 个答案:

没有答案