System.out.println(i++);
System.out.println(++i);
第一句,是先将i的值打印出来在执行i++
第二句,是将i的值先加1,在执行打印。
举个例子:
int i=2;
int j=3;
int k = j+i++;//此处i=2,先加上j的值3,赋给k,所以k=5,然后i再加1
int k = ++j+i//此处i经过上面的+1,现在为3
//而++在前,意味着j的值先加1,变为4,再加上i的值3。所以此时k=7
总结:
++在后先计算当前的表达式子后,变量本身在+1
++在前先变量本身+1,在计算表达式......
存在一个执行顺序先后问题而已......
i++ 则表示:程序先操作,再自增+1
++i 则表示:程序先自增+1,之后再操作!
回答完毕。
举个例子,i=3;
1,test=i++;
System.out.println(test);
System.out.println(i);
//此时,输出test=3;i=4,I的值先赋给TEST,再自己加1;
2,test=++i;
System.out.println(test);
System.out.println(i);
//此时,输出test=4;i=4,I的值先自己加1,再把结果赋给TEST
我说的明白吗?
i++是运行中i的值不变,运行后i的值+1
++i是i的值+1
i++:先取i值,然后i+1
++i:先i+1,然后取i值