日期:2014-05-20  浏览次数:20725 次

新手求助i++和++i的这道题的详细计算过程
public static void main(String[] args) {
int i=3,m ;
m=(++i)+(++i)+(++i)+(++i)+(i++)+(++i)+(i++);
// 4+5+6+7+7+8+8
System.out.println(m);
}
答案为什么不是45而是47

------解决方案--------------------
4+5+6+7+7+9+9
------解决方案--------------------
++i 先自增再参与运算
i++ 先参与运算再自增
------解决方案--------------------
public class MMZZ
{
public static void main(String[] args) {
int i=3,m ;
m=(++i)+(++i)+(++i)+(++i)+(i++)+(++i)+(i++);
// 4 5 6 7 7 9 9
System.out.println(m);
}
}
++i, 是先运算,后赋值
i++,是先赋值,后运算