如何评估这个表达式

时间:2015-01-23 11:03:59

标签: java

int a = 5的值; 那么它的价值是什么:

a=a+ ++a + a;

是17还是18? 请显示步骤。

a=5+6+6=17 
//or
a=6+6+6=18 // as increment operator has the highest precedence

1 个答案:

答案 0 :(得分:0)

根据JLS,子表达式从左到右进行评估。这就是为什么第一个项被评估为5,第二个被评估为6,第三个被评估为第二个,因此它给出了6.这就是为什么总和是17。