增量后运算符的优先级

时间:2016-10-19 19:04:15

标签: java operators post-increment

我知道已经多次询问了以下问题,但我从未遇到过令人满意的答案,为什么运营商的优先级似乎在以下两种情况之间发生变化:

情景1:

  int i = 0, j = 0;
  j = i++;  
  System.out.printf("i=%d j=%d \n", i, j);   // i=1 j=0 

操作j = i ++根据运算符的优先级评估如下:

第1步:j = i

第2步:i ++

' ++'运营商AFTER' ='操作者 输出似乎证实了这一点。到目前为止一切都很好。

情景2:

int i = 0;
i = i++;
System.out.printf("i=%d \n", i);    // i=0 ???

操作i = i ++评估,而不是根据运算符的优先级,如下:

第1步:i ++

第2步:i = i

' ++'运营商BEFORE' =' operator ???

我在这里缺少什么?

问候 克里斯

0 个答案:

没有答案