黑马程序员技术交流社区

标题: 若x = 2,则表达式 ( x + + )/3 的值是__0__? [打印本页]

作者: 皮卡丘2016    时间: 2016-6-12 00:17
标题: 若x = 2,则表达式 ( x + + )/3 的值是__0__?
若x = 2,则表达式 ( x + + )/3 的值是__0__?为什么编译结果是0?在JAVA中X++和++X优先级如何区分?

作者: ancheng    时间: 2016-6-12 13:04
x++是先使用,再自增。++x是先自增,再使用
作者: 皮卡丘2016    时间: 2016-6-12 20:38
明白了,谢谢指教
作者: zaoyangkun    时间: 2016-6-12 20:41
能问一下你的技术分为啥那么多吗?你是怎么弄的
作者: huangzhehua    时间: 2016-6-12 20:47
X++先运算在自增,所以是2/3=0,++X是先自增在运算
作者: 善良的死神达乐    时间: 2016-6-12 21:00
int x = 2;
( x + + )/3 == 0;     //true
x++是先运算再自增,2 / 3返回一个int数,所以直接就是0,但是如果是(++x) / 3,那就等于1了.因为括号里面的要先自身加1才会进行运算,3 / 3 = 1.
作者: 皮卡丘2016    时间: 2016-6-12 21:19
善良的死神达乐 发表于 2016-6-12 21:00
int x = 2;
( x + + )/3 == 0;     //true
x++是先运算再自增,2 / 3返回一个int数,所以直接就是0,但是如果 ...

好的,明白了,谢谢!
作者: sxj    时间: 2016-6-12 21:25
x++是先运算,再加1。++x是先加1,再运算
作者: 醇逸    时间: 2016-6-12 21:59
善良的死神达乐 发表于 2016-6-12 21:00
int x = 2;
( x + + )/3 == 0;     //true
x++是先运算再自增,2 / 3返回一个int数,所以直接就是0,但是如果 ...

解释的很详细啊!
作者: 我是你岁哥❤环    时间: 2016-6-12 22:01
x++与++x
这两个单独使用时没有区别




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2