社区
Java SE
帖子详情
i=i++;i=?
mimload
2008-09-01 10:22:05
如题:
int i =0;
i = i++;
执行完结后i为什么还是等于0?
c中也是这样吗?
...全文
660
48
打赏
收藏
i=i++;i=?
如题: int i =0; i = i++; 执行完结后i为什么还是等于0? c中也是这样吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
48 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hai666wang
2008-09-05
打赏
举报
回复
这和jvm有关的,在自增运算中,java会开辟另一块空间给++ --使用,
至使原来的值未改变
因此输出为0;
c++里会输出1;
yoyo82
2008-09-04
打赏
举报
回复
[Quote=引用 43 楼 luyer_yuanming 的回复:]
i=i++和i=++i结果是一样的没分别.
[/Quote]
胡说!
yoyo82
2008-09-04
打赏
举报
回复
基础很重要!
SARA520
2008-09-04
打赏
举报
回复
i = i++;
应该跟
i++一样吧
喂喂香型
2008-09-04
打赏
举报
回复
假如在你这些代码后面再加上一句
System.out.println(i);
你认为最后的结果是什么呢,我刚试过了,还是2.
int i = 0;
System.out.println(i++);//得到0
System.out.println(i);//得到1
System.out.println(++i);//得到2
i=i++;
System.out.println(i);//得到2,首先进行赋值,然后++。因为i是值引用,所以旧的i改变不会影响到i。
System.out.println(i);//假如在你这些代码后面再加上这一句结果还是2;
而且用C的话结果并不一样
int i = 0;
printf("%d",i++);
printf("%d",i);
printf("%d",++i);
i=i++;
printf("%d",i);
结果是0123.
luyer_yuanming
2008-09-04
打赏
举报
回复
i=i++和i=++i结果是一样的没分别.
loaferwang
2008-09-04
打赏
举报
回复
使用eclipse 中的bug啦,对于它执行的先后,一步一步的让它跑啦,之后,你就知道这的原因啦,你可以试一下啦,这要比你问要来的实在呀,试一下啦!
oklinsong
2008-09-04
打赏
举报
回复
先用i,再i++,所以是0
rainsilence
2008-09-04
打赏
举报
回复
我用C#试过了,和java得结果一样,=得优先级比++高。
ZangXT
2008-09-04
打赏
举报
回复
[Quote=引用 38 楼 rainsilence 的回复:]
好像c里面是不一样
[/Quote]
编译器提取规则不一样。
rainsilence
2008-09-04
打赏
举报
回复
好像c里面是不一样
rainsilence
2008-09-04
打赏
举报
回复
不管什么语言
i++
和++i得到的结果都应该是一样的
int i = 0;
System.out.println(i++);//得到0
System.out.println(i);//得到1
System.out.println(++i);//得到2
i=i++;
System.out.println(i);//得到2,首先进行赋值,然后++。因为i是值引用,所以旧的i改变不会影响到i。
yangchao_713
2008-09-04
打赏
举报
回复
楼上已经说得很清楚了,可以看出来帖子标题,和内容会得到不一样的结果
Jewelz0811
2008-09-04
打赏
举报
回复
i++是先赋值在自增 ++i是先自增在赋值。。。
落叶的葬礼
2008-09-03
打赏
举报
回复
这问题还有这么多人来讨论。
!!!!
a315823806
2008-09-03
打赏
举报
回复
c中等于1.
在java中。i是个值的调用而非引用。
fangsp
2008-09-02
打赏
举报
回复
++i先自增1,在赋值。
i++先赋值,再自增1
hujunw520
2008-09-02
打赏
举报
回复
如果有底成的Java书籍,建议你去看看里面的语法
找到后你就不会有想要的结果了
这个C里面也有的小知识
liaoyi_ipanel
2008-09-02
打赏
举报
回复
i在++前就先使用i再++,在后就先++后使用i
aipb2008
2008-09-02
打赏
举报
回复
zangXT是正确的哦。
其实这个过程中,i的值是从0-》1-》0
加载更多回复(27)
基于Web的酒店客房管理系统的设计与实现+论文+开题
if(oldPassword.equals(admin.get("password").toString())){ String sql="update t_admin set password=? where id=?"; db.update(sql, new Object[]{newPassword,admin.get("id")}); return renderData(true,"1",...
架构师成长计划
tc=0e8trfvt8i&frm=csdn_2 第四期:用架构思维为云原生做减法复制链接收看完整内容:https://bizwebcast.intel.cn/eventstart.aspx?eid=316&tc=i2kgf55ggn&frm=csdn_2 第五期:网络智能化技术与演进复制...
I2C通信详解-1.12.ARM裸机第十二部分
本期课程主要讲解I2C通信协议的基本概念和编程分析。首先简单介绍I2C通信的基本特征,然后详细讲解了I2C通信的时序图,并且通过I2C的时序图讲解了通信物理层的时序概念。之后介绍了S5PV210的I2C控制器、gsensor芯片...
I2C通信之EEPROM-第1季第15部分
本课程是《朱有鹏老师单片机完全学习系列课程》第1季第15个课程,主要讲解了EEPROM的编程和使用,其中重点是I2C接口,I2C是物联网系统中主芯片和传感器芯片的通信接口,本课程的目标是对I2C的时序彻底掌握。
I2C总线和触摸屏驱动移植实战-linux驱动开发第9部分
本课程是linux驱动开发的第9个课程,主要内容是linux的I2C子系统以及电容触摸屏驱动的移植。学习本课程的核心点在于I2C子系统,目标是对I2C驱动框架的彻底理解和熟练运用。本课程承袭前面platform平台总线的讲解思路...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章