java中i=i+1跟i=i++有什么区别 5

同一个程序片我只是把这两个一换程序就没法跑了,新手求解释... 同一个程序片我只是把这两个一换程序就没法跑了,新手求解释 展开
 我来答
EvilProxy
推荐于2018-04-05 · TA获得超过294个赞
知道小有建树答主
回答量:280
采纳率:100%
帮助的人:263万
展开全部
怎么说呢,i = i++就是坑爹的!!理论上讲,语言规范上就不应该这么写。
实际编译运算结果是 i = i++ 的话,最后i一直是原值,没有自增
i = i+1 ,很容易理解就是i的值增1,返回给i

而 i = i++ ,i ++ 理论上在运算完毕以后要自加的,这个自加应该是发生在赋值之前,于是i的临时新值是 i+1
运算符只有一个 ++,所以会直接使用赋值号把右侧运算结果赋值给 i,于是 i 还是等于原来的 i
底层源码没见过……,也大致就是感觉如此了
灰太狼小a
2012-07-17 · 各种有价值的资料文档收集
灰太狼小a
采纳数:16 获赞数:86

向TA提问 私信TA
展开全部
i=i+1 运行时候 i作为i+1的结果运行,但是i=i++,i还是i运行的,只是在运行本行表达式之后,i的值才是i+1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
552023943zjx
2012-07-17 · TA获得超过1040个赞
知道小有建树答主
回答量:260
采纳率:0%
帮助的人:338万
展开全部
i=i+1;的结果是i的值加了1
i=i++;的结果是i的值不变
这是由于Java和C/C++采用的编译器不同,编译器不同,所以编译机制也不同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小麦的软件工厂
2012-07-17 · TA获得超过396个赞
知道小有建树答主
回答量:512
采纳率:0%
帮助的人:430万
展开全部
。。。。。。
i=i++等于什么都没有加 这个你要看java语法规则的(好像是这本书 里面讲java的语法细则)

步骤就像:temp=i i=i+1 i=temp 好像是这样的 关键是从左算还是从右算 java解惑这本书里有的 在第一章
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-07-17
展开全部
i++是在条件满足的情况下,不断增加1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式