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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

若x = 2,则表达式 ( x + + )/3 的值是__0__?为什么编译结果是0?在JAVA中X++和++X优先级如何区分?

9 个回复

倒序浏览
x++是先使用,再自增。++x是先自增,再使用
回复 使用道具 举报
明白了,谢谢指教
回复 使用道具 举报
能问一下你的技术分为啥那么多吗?你是怎么弄的
回复 使用道具 举报
X++先运算在自增,所以是2/3=0,++X是先自增在运算
回复 使用道具 举报
int x = 2;
( x + + )/3 == 0;     //true
x++是先运算再自增,2 / 3返回一个int数,所以直接就是0,但是如果是(++x) / 3,那就等于1了.因为括号里面的要先自身加1才会进行运算,3 / 3 = 1.
回复 使用道具 举报
善良的死神达乐 发表于 2016-6-12 21:00
int x = 2;
( x + + )/3 == 0;     //true
x++是先运算再自增,2 / 3返回一个int数,所以直接就是0,但是如果 ...

好的,明白了,谢谢!
回复 使用道具 举报
sxj 中级黑马 2016-6-12 21:25:19
8#
x++是先运算,再加1。++x是先加1,再运算
回复 使用道具 举报
醇逸 中级黑马 2016-6-12 21:59:31
9#
善良的死神达乐 发表于 2016-6-12 21:00
int x = 2;
( x + + )/3 == 0;     //true
x++是先运算再自增,2 / 3返回一个int数,所以直接就是0,但是如果 ...

解释的很详细啊!
回复 使用道具 举报
x++与++x
这两个单独使用时没有区别
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马