黑马程序员技术交流社区
标题:
关于自增自减
[打印本页]
作者:
这这这好棒
时间:
2015-6-4 23:40
标题:
关于自增自减
int i=2;i=i++;System.out.println(“i=”+i);问输出结果是多少?
作者:
杜黎明
时间:
2015-6-4 23:58
结果还是2
作者:
rexih
时间:
2015-6-5 00:04
杜黎明 发表于 2015-6-4 23:58
结果还是2
为啥是2?又没有指明在循环中
作者:
杜黎明
时间:
2015-6-5 00:14
i=i++;代码分两步将第二个i的值赋给第一个i还是2,第二个i再自加等于3 而第二个i没有存下来,只有第一个i存下来了,为2
作者:
守株人
时间:
2015-6-5 00:56
楼上正解,这里如果用C语言运行答案就是3,说明了C语言与Java语言的虚拟机是不同的
作者:
林RM
时间:
2015-6-5 01:06
答案2,先赋值再++
作者:
lizhi
时间:
2015-6-5 07:04
i++是运算了,再自加
作者:
嘎路的米
时间:
2015-6-5 07:18
我还以为是3呢,居然是2
,懂了
作者:
古风_菜鸟
时间:
2015-6-5 08:02
谁能说说为啥没有保存下来
作者:
牛奋
时间:
2015-6-5 08:11
当需运算的数++﹙--﹚的左边时,这个数先进行其他运算,然后再++﹙--﹚,当在右边时,先++﹙--﹚,然后再进行其他运算。当单独出现的时候,数在左在右效果是一样的。
作者:
夏尔
时间:
2015-6-5 08:31
这个结果是2 先赋值再自增
作者:
山崩地裂
时间:
2015-6-5 08:53
学习了。重新加深了理解。
作者:
hellotaomi
时间:
2015-6-5 09:04
这种问题也太偏了吧,而且C和java运行都不一样的
作者:
少年闰土
时间:
2015-6-5 10:17
这个i = i++;的操作可能相当于以下三步操作:①把变量i的值取出来,放在一个临时变量里(我们先记作temp);②把变量i的值进行自加操作;③把临时变量temp的值作为自增运算前i的值使用,在本题中就是给变量i赋值。因此,经过以上三步操作以后,虽然变量i在第②步操作中进行了自增运算,但第三步操作以后又把原来的值赋给了它
学习自:http://blog.csdn.net/brooksychen/article/details/1624753
作者:
海角秋风
时间:
2015-6-5 11:07
学习了啊。。。之前虽然知道答案是2 ,但是不知道3存没存的问题。。。
作者:
forTomorrow
时间:
2015-6-5 11:24
我理解也是3,可运行结果是2,如果是C的话 应该是3 ,不知道具体在内存中是怎么个运行的
作者:
wangkai
时间:
2015-6-5 13:48
学习学习
作者:
wangyu
时间:
2015-6-5 20:44
只有14楼说的是正确的,i++后i其实是变成了3,但是被2给覆盖了
作者:
飘过的云
时间:
2015-6-5 21:10
其实这是一个结论吧,代表了一类 ,不能理解,就记住了, 谢谢 ,又复习了一遍
作者:
yang2015
时间:
2015-6-5 22:42
学习学习
作者:
刘旭1
时间:
2015-6-5 22:56
这样的结果呢 i=(i=i++)
作者:
灰色水晶梦
时间:
2015-6-5 23:03
貌似没变啊
作者:
青龙李坤
时间:
2015-6-5 23:08
int i=2;System.out.println(++i);输出是3
作者:
青龙李坤
时间:
2015-6-5 23:09
int i=2;System.out.println(i++);输出是2;
作者:
胡亚辉
时间:
2015-6-6 12:07
基本变量传递 变量不变 结果还是2
作者:
SouthKai
时间:
2015-6-6 23:38
先赋值,在自加
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2