前++是先自加再使用而后++是先使用再自加!这一点我知道,大家不必多说
运行结果如下:
还有另一个问题,如下图:
运行结果如下:
e=10;
f=e++ + e++;第一个e++的时候e还是10也就相当于10+e++,第二个e++的时候,由于前面的e++运算,这个时候e为11,所以f是21;
还不理解,可以输出一下System.out.println(e++);这个时候输出是10,因为++在后,是后置运算,输出的是没有运算之前的e,如果是++e,输出的就是11,++在前,是先运算再输出
r=0,
++r=0+1;此时resout=1,接着r++,resout=++r + r++=2,然后又++r=0+1,又是加了一个1,最后+r,r还是0,所以结果是3
知道这一点不就行了吗?请问你的疑问在那里?
++在前,先加后参与运算,++在后,先运算后参与加
r初始值是0。62行中++r是先执行,所以两个++r之后,i的值是2。一行有4个i,加起来的总和就是8,所以result是8
f=e++ + e++
从左到右看,第一个e++的在算式的值为10,e的值变为11
第二个e++的在算式的值为11(因为e变成11了),e的值变为12
再帮你补一题
public static void main(String args[]){
int num = 50;
num = num ++ * 2;
System.out.println(num);
}
语句num++执行时,会将结果赋值给一个临时变量temp,然后num加1, 最后再进行一次赋值;
num = num ++ * 2 =》 int temp = 50*2; num=51; num = temp;
想明白你就都明白了
你可以把++当成C里面的一个引用。就是不仅被赋值的对象会改变,++的对象也会改变。只要那个对象,在++前面的你可以理解成引用前,++后的则是引用后