A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pllaoyao 中级黑马   /  2015-12-7 22:32  /  2775 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚进基础班的Java新手。下面这个表达式如何理解?一直感觉挺矛盾的,求大神解惑。
x++==x+1


求左右两边x的值
左边x是原来的值还是自增后的值?
右边x是左边自增后的值还是自增前的值?

评分

参与人数 1黑马币 +20 收起 理由
taany + 20 淡定

查看全部评分

18 个回复

倒序浏览
左边是自增前的值,右边运算后
回复 使用道具 举报
运算符的优先级问题
回复 使用道具 举报
taany 来自手机 中级黑马 2015-12-10 19:44:18
板凳
运算符的优先级。
回复 使用道具 举报
这种问题不用死扣,开发中并不常用,只要知道,自增运算符的基本规律即可。
根据运算符的优先级得下:
(x++)==(x+1)
令 x=1;
左边  x++先使用后加1,得    1==3  表达式为 false
回复 使用道具 举报 1 0
x++      先使x用后+1
++x      先+1后使用x

++是一元运算符,优先级>算术运算符>赋值运算符
回复 使用道具 举报 1 0
hyl 中级黑马 2015-12-10 21:43:24
7#
结果为false
回复 使用道具 举报
应该是想判断,相等么?然后再自增。。。
回复 使用道具 举报
Hi.。 中级黑马 2015-12-19 02:01:39
9#
如果是 x++==x-1; 的话,会更有意思
回复 使用道具 举报
river1205 来自手机 中级黑马 2015-12-19 07:17:00
10#
左边自增,右边运算,最后判断相当不
回复 使用道具 举报
主要知道优先级就好了
回复 使用道具 举报
这个问题涉及到了数据结构,如果楼主想要完全弄明白可以去看一下算数运算在内存中是怎样实现的。
回复 使用道具 举报
这问题看着好绕
回复 使用道具 举报
NUMONE 发表于 2015-12-10 21:36
这种问题不用死扣,开发中并不常用,只要知道,自增运算符的基本规律即可。
根据运算符的优先级得下:
(x++ ...

噢。…….............................................
回复 使用道具 举报
我只知道是相等的
回复 使用道具 举报
这种在开发中基本不用,没必要去研究这种的
回复 使用道具 举报
++在前就先自增再参与运算,++在后就先运算完之后再自增
回复 使用道具 举报
算数运算符与逻辑运算符的结合,结构不是真就是假,何必纠结呢?
回复 使用道具 举报
x++==x+1 用语言表达相当于 x等于x+1, 结果不成立 , x++是不参与运算的,运算完之后再++。  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马