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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一十二。   /  2014-7-12 21:12  /  3746 人查看  /  46 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

郑飞 发表于 2014-7-12 22:17
X++不是=5吗 然后X变6了 ++X成了7
557不是么?

题目是:
x = 5;不是x++ = 5.
回复 使用道具 举报
黎志勇 发表于 2014-7-12 21:29
x=x+(x++)+(++x);
   5+5+7
结果17嘛。

同意你的 5+5+7
回复 使用道具 举报
hxwo211314 发表于 2014-7-12 22:07
运算符的优先级(从高到低)
如果在程序中,要改变运算顺序,可以使用()。
由该表可以得到先算括号里面的 ...

括号和优先级跟运算顺序没有关系
回复 使用道具 举报
郑飞 发表于 2014-7-12 22:20
你笑的太恶心了

同意!!!
回复 使用道具 举报
hxwo211314 发表于 2014-7-12 22:29
题目是:
x = 5;不是x++ = 5.

题目是X=5
我说的是表达式里面的值
回复 使用道具 举报
是17了....
回复 使用道具 举报
本帖最后由 lancerjs 于 2014-7-12 23:21 编辑

计算过程应该是5+5+7在Java中,若将顺序调换为(x++) + (++x) + x ,则结果为19,可知Java中是先计算第一个加号,然后x自加1,然后x再自加1,然后计算第二个加号
回复 使用道具 举报
5 + 5(++在x后面,先运算在自增,x就等于6了) + 7(++在前面,先自增,x=7,在运算) = 17
回复 使用道具 举报 1 0
编个程序算一下不就知道了
回复 使用道具 举报
Adjin 中级黑马 2014-7-13 11:15:16
30#
应该是5+5+7?
回复 使用道具 举报
应该是这样的吧。。。。5+5+(1+6)
回复 使用道具 举报
++x是先加后赋值,x++是先赋值后加。
回复 使用道具 举报
class Test
{
        public static void main(String args[])
                {
                        int x =5;
                        System.out.println(x=x);
                        x=5;
                        System.out.println(x=x+(x++));
                        x=5;
                        System.out.println(x=x+(x++)+(++x));       
                }
}
试了下 结果是 5  10  17
回复 使用道具 举报
5+5,等于了10,之后5变成6,在后来6先变成7再相加,10+7=17.
回复 使用道具 举报
我怎么算的是21啊
回复 使用道具 举报
结果是5+6+6,还是5+5+7?我想的是5+6+6。晕了
回复 使用道具 举报
5+5+7=17,没什么好解释的。。。
回复 使用道具 举报
这要看编译器的
回复 使用道具 举报
不是这样的吧!!!、
哪是5+5+7,汗
第一步是5+5+6然后赋值给左边的X
然后做X++
既16+1=17
根本就不是5+5+7
过程不对
回复 使用道具 举报
。。。。这,不算是一个BUG吗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马