i++

编程点滴 2013-10-14 06:59:32
正值招工季,我来给大家出一道题,关于i++的问题

int x = 0;
for(int i=0; i<100; i++) {
x = x++;
}
System.out.println(x);
x = 0;
x = x++ + ++x;
System.out.println(x);

自己复制后运行吧,骚年,欢迎大家踊跃讨论。
...全文
887 43 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
朗晴 2013-10-18
  • 打赏
  • 举报
回复
i++是先加,++i是后加。
随便5个字 2013-10-18
  • 打赏
  • 举报
回复
引用 37 楼 zhongxianyao 的回复:
[quote=引用 35 楼 ltp2010 的回复:] “正值招工季”,表示怀疑!
那请问现在不是企业招工的时候吗[/quote]快过年了,员工一般都不会离职的。
xlhb 2013-10-18
  • 打赏
  • 举报
回复
0,2................
  • 打赏
  • 举报
回复
程序猿,设计丝,创意淫
lk198186 2013-10-17
  • 打赏
  • 举报
回复
字少拿分走人
随便5个字 2013-10-17
  • 打赏
  • 举报
回复
“正值招工季”,表示怀疑!
qq_wwwhj 2013-10-17
  • 打赏
  • 举报
回复
第一个:x赋值之后才执行++所以一直为0;第二个:x=0赋值之后执行++为1,再加上++x就等于2了
编程点滴 2013-10-17
  • 打赏
  • 举报
回复
引用 36 楼 lk198186 的回复:
字少拿分走人
编程点滴 2013-10-17
  • 打赏
  • 举报
回复
引用 35 楼 ltp2010 的回复:
“正值招工季”,表示怀疑!
那请问现在不是企业招工的时候吗
lkq_david 2013-10-16
  • 打赏
  • 举报
回复
中国人就喜欢搞这种东西,根本就不实用
奥西里斯 2013-10-16
  • 打赏
  • 举报
回复
x = x++ + ++x;和x = x + ++x;结果不用,反编译第一个比第二个多执行一次iinc操作,应该就是x++这是为啥呢,x++不是直接取值么,有点不懂
wey580231 2013-10-16
  • 打赏
  • 举报
回复
表示第一个让我迷糊了一会,哈哈。。。
zfn23 2013-10-15
  • 打赏
  • 举报
回复
学习了。。。
寻找IT之路 2013-10-15
  • 打赏
  • 举报
回复
这也是在笔试的时候才会出这样的题,在实际开发中一般不用,公司一般规定用i=i+1,便于日后软件维护
whos2002110 2013-10-15
  • 打赏
  • 举报
回复
引用 16 楼 kxm_2012 的回复:
第一个打印出来的为什么是0? x=x++; x=0时 x++的值是0,即x=0,但是不是还要执行x的自增么?自增之后x应该是1了啊,为什么x还是0 求解释
循环里面等价于:

int tmp = x++;//此句结束后tmp=0,x=1;
x = tmp;//x重新复制为0
魂之挽歌来袭 2013-10-15
  • 打赏
  • 举报
回复
第一个打印出来的为什么是0? x=x++; x=0时 x++的值是0,即x=0,但是不是还要执行x的自增么?自增之后x应该是1了啊,为什么x还是0 求解释
异常异长 2013-10-15
  • 打赏
  • 举报
回复
0,2.。。
郑涛 2013-10-15
  • 打赏
  • 举报
回复
++优先级比+高,i++,表达式值是i,加完i,i+1,++i表达式值是i+1,加完i,i+1.
likj_sh 2013-10-15
  • 打赏
  • 举报
回复
好吧~温故而知新
Mourinho 2013-10-15
  • 打赏
  • 举报
回复
老掉牙的题了
加载更多回复(23)

62,634

社区成员

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

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