i=i+1和i++以及i+=1的区别?

qingqingcao22009 2012-11-12 07:42:33
从编译方法、运行效率等方面说明。
或者自己理解这种题应该怎么做?
...全文
13555 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingqingcao22009 2012-11-14
  • 打赏
  • 举报
回复
还木有比较满意的答案
print_er 2012-11-12
  • 打赏
  • 举报
回复 1
i++等价于i+=1 i=i+1和i+=1还是有差别的 如果i是short类型 i+=1不会报错 但是i=i+1就会报错 是因为1是int类型的+一个short类型结果会被自动转换为int类型,这时如果再赋值给一个short类型的变量会报可能损失精度的错误 但i+=1不会改变i的类型 所以赋值可以成功
wonkju 2012-11-12
  • 打赏
  • 举报
回复
引用 3 楼 mxy906975387 的回复:
i=i+1;//是在i的基础上加1,重新赋值给变量i i++;//是在i的基础上相加 i+=1;//和第一个意义一样
是这样的
心梦缘-雪雁 2012-11-12
  • 打赏
  • 举报
回复
i=i+1;//是在i的基础上加1,重新赋值给变量i i++;//是在i的基础上相加 i+=1;//和第一个意义一样
haorengoodman 2012-11-12
  • 打赏
  • 举报
回复
i=i+1;//因为1默认是int型,所以i先转为int,然后相加,结果为int型,然后结果再转型为i的定义类型
i++;//就是,在i++;这句代码后面的代码中,i就变成了i+1;
i+=1;//http://blog.csdn.net/haorengoodman/article/details/8148801

62,636

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧