黑马程序员技术交流社区
标题:
j=i++及j=++i运行时的内存模式流程图问题
[打印本页]
作者:
乐宝myhoney
时间:
2014-2-4 18:32
标题:
j=i++及j=++i运行时的内存模式流程图问题
本帖最后由 乐宝myhoney 于 2014-2-4 18:36 编辑
j=i++以及j=++i运行的时候,内存的分配流程图是如何进行的?烦请各位前辈予以解答,多谢!
作者:
郭运川
时间:
2014-2-7 20:25
j = i++;
<==>j = i + 1;i = i + 1;
j = ++i;
<==>i = i + 1; j = i;
拆分开应该就是上面的步骤,具体的流程图未知
作者:
♫梦想起航♫
时间:
2014-2-8 05:45
只要记住++在前,先自增,然后将增加的值赋给左边.
++在后,将值赋给左边再自增.
比方int b = 0; b= b++; System.out.println(b);//b是0而不是1.因为++在后.若是在前就是1了.
作者:
嗯√低调〆
时间:
2014-2-8 13:10
i++是先赋值,再自增,++i 是先自增 再赋值
作者:
孔丽阁
时间:
2014-2-8 14:03
自增(前):i=2;j=++i;结果为i=3;j=3;
自增(后):i=2;j=++i;结果为i=3;j=2;
简单来记就是自增前是加完用,自增后是用完加;
无论自增前还是自增后i的输出值的加1.
作者:
杨殿生
时间:
2014-2-8 21:40
本帖最后由 杨殿生 于 2014-2-8 21:42 编辑
j=i++ 是将i的值先赋给j,然后i自加1 j=++i 是i先自加1,然后再把值赋给j
作者:
copydong
时间:
2014-2-8 22:29
j=i;i=i+1; i=i+1;j=i;
作者:
四季列车
时间:
2014-3-13 14:54
假设a=1,b=1; int c =a++;--》可以看成是int c=a;a=a+1;所以a=2; int d =++b;--》可以看成是b=b+1=2;int d=b=2;就是这样的 你要了解那个i++跟++i这个,++如果在前面,则会先自加,然后赋值给其他变量,如果是在后边,则先把自己的值赋给其他变量,然后自己加1。这就是区别了。--跟++用法一样。
作者:
追逐
时间:
2014-3-14 15:04
j=i++ 是(j = i, i = i + 1)
j=++i 是(i = i + 1, j = i);
i++是先把i的值赋值给变量j , 然后在让j自增
++i是先把变量i自增。然后在把值赋值给变量j
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2