社区
非技术区
帖子详情
一个比较有意思的小问题
gudu_yueliang
2006-04-05 09:43:33
int x = 0;
x = x++;
在java等于0 在c中等于1
谁能解释一下为什么在java中就等于0呢?
有人说跟编译器的优先级有关,但我还是不理解
如果在x = x++中等于的优先级大,那么就是先计算x=x 在计算x++那么就应该等于1
如果相反,那么就是先计算x++在计算x=x那么还是应该等于1.所以我怎么也不明白为什么
在java中等于0,有没有谁能解释一下为什么会出现结果是0呢
...全文
278
7
打赏
收藏
一个比较有意思的小问题
int x = 0; x = x++; 在java等于0 在c中等于1 谁能解释一下为什么在java中就等于0呢? 有人说跟编译器的优先级有关,但我还是不理解 如果在x = x++中等于的优先级大,那么就是先计算x=x 在计算x++那么就应该等于1 如果相反,那么就是先计算x++在计算x=x那么还是应该等于1.所以我怎么也不明白为什么 在java中等于0,有没有谁能解释一下为什么会出现结果是0呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
classjava
2006-04-08
打赏
举报
回复
java:
int x = 0;//x=0
x = x++//把(x++)的值0赋给x
yarkqiu
2006-04-08
打赏
举报
回复
这个问题我来说一下。
运算符的优先级,Java和C是一样的。
我不知道你用C语言是什么编译器,C语言不同的编译器关于“++”或“--”运算的结果会不同。
这个问题在《最新Java核心技术I》里讨论过。“++”和一个变量单独组成一个语句(如:x++,++x),无论是“++”在变量前还是后运算结果和“x=x+1;”是一样的。只有把他放在一个表达式中作为表达式的一部分,就比如你说的“x = x++”,“++”在前在后就有区别了(具体的,在C语言和JAVA中对自增运算符都有说明,我就不说了。)
你的明白!
nowordseagle
2006-04-06
打赏
举报
回复
这个问题今天刚试过 j=j++ ;前后两个 J不是同一个J java里的++ 与 C++ 里的++确实 有写不同
但这里却不全是优先级的问提 . j=j++ 写一百遍看看是什么效果 j 还是不变 原因就是地 二个j 是第一个j的副本 即使j=j++运行一百遍 每次都是 把j的副本j(等于他本身)赋值给j 然后副本++ 然后副本消失
麦子_9
2006-04-06
打赏
举报
回复
qiang029(风)
--------------
楼上说的有道理.
copine
2006-04-06
打赏
举报
回复
doubt
qiang029
2006-04-05
打赏
举报
回复
我来小说一下我的理解,在JAVA中X++是先进行赋值再进行++,而++X是先进行++再进行赋值,也就是说
int x = 0;
x = x++;
在JAVA中++的优先级大于=号,那么先算x++是0,由于是先进行赋值再进行++所以x最后还是等于0,说白了x=x++;和x++是一样的。
在c中,没试过可能是先++再赋值最后变成1了。
duye
2006-04-05
打赏
举报
回复
还真不知道有这个怪现象,我坐一下沙发。
坦克大战Game_The_War_Of_Tank
Game_The_War_Of_Tank [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IKiee4BM-1622299377785)(https://img.shields.io/badge/Game__The__War__Of__Tank-Unity3D-yellowgreen)] The_War_Of_Tank这款坦克游戏是以罗培羽老师的《Unity 3D网络游戏实战》项目为基础,在其上稍有延伸各项功能,但一直觉得做得不好,这次也只是阶段性的发布出来单机版,希望能有更多
Error assembling WAR: Problem creating war: Execution exception (and the archive is probably corrup
Failed to execute goal org.apache.maven.plugins:maven-war-plugin:3.2.2:war (default-war) on project dev-snow-bootstrap: Error assembling WAR: Problem creating war: Execution exception (and the archive is probably corrupt but I could not delete it)
What's the WAR
今天再重新提交指尖防灾后台代码的时候,某大赛工作人员要求最好用war文件提交后台代码。在MyEclipse 10下导出项目的时候还见到了其他的文件格式,然后把这些都记录在这篇文章中。很心碎的是,MyEclipse 10中导出war直接报错了,然后用命令行敲,也没成功,这个我就很郁闷了。 先来看看同在javaEE文件下的EAR 和 WAR EAR文件(Enterprise Application
Pacifism and the War
About a year ago I and a number of others were engaged in broadcasting literary programmes to India, and among other things we broadcast a good deal of verse by contemporary and near-contemporary En
HDOJ 4005 The war
题意:给
一个
无向图,敌人还可以再随机建一条边,而你可以拆掉一条边并产生一定的花费。问至少要多少花费才能保证拆掉一条边之后图不联通。 tarjan缩点。。。。如果最大度 否则找最小的某个节点的到子节点的第3小边(第1小,和第2小的边是可能被连到一起的),具体做法:重新构图的时候找到最小的边,然后从最小的边的两个端点分别dfs找第二小的边。。。 注意可能出现重边,建图的时候要给每
非技术区
23,404
社区成员
70,507
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章