Java运算符计算顺序问题

2025-05-16 18:44:46
推荐回答(3个)
回答1:

因为

  • i++就是语句执行完毕以后补做一个i=i+1的赋值

  • ++i就是在语句执行之前执行一个i=i+1语句。

  • sum=sum +=  i++就是sum=sum=sum+i;  i=i+i;

  • 如果换成sum=sum += ++i 的话就是顺序就是: i=i+i; 然后才执行sum=sum=sum+i;

    你给的这个题目在研究运算顺序时候玩下还行,或许考试会用到,但是实际开发中别这么写,不然会被骂死的。你分不清的时候就写两条语句好了,想先让i自加就先写一条i自加的语句,然后在运算,不要省一条语句调试一下午的bug.

回答2:

这个式子可以解释为sum=sum=sum+i++;先算的是sum+i,然后把值赋给了sum,i++,然后sum=sum的。++的优先级与+=的优先级比较的时候你要考虑是前加还是后加,比如i=1,i++的值是1,++i的值是2。

回答3:

sum=sum += ++i
这样试试