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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯瑞君老师 黑马粉丝团   /  2011-12-16 10:35  /  3558 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int x=1,y=2
(x++)+(++y)等于多少?

9 个回复

倒序浏览
杨扬 黑马帝 2011-12-16 10:41:45
沙发
本帖最后由 杨扬 于 2011-12-16 11:26 编辑

输出结果是4.
(x++)+(++y)
++y 把y=2 加1后 ,再与1相加..运算完后 .在计算x++
所以(x++)+(++y)=4, 做完这步计算后.x=2
弄清x++ 和 ++x 的优先级,结果就显而易见了

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

回复 使用道具 举报
(x++)+(++y)
1.在该等式中括号的优先级最高,x所以先计算(x++),再计算(++y),最后将两个表达式的值相加
2.计算(x++)表达式,对于++在变量名后面,那么先将x的值赋给(x++)表达式,然后x进行自增操作,则(x++)=1,x=2
3.计算(++y)表达式,对于++在变量名前面,那么先将y进行自增操作,然后将y的值赋给(++y)表达式,则y=3,(++y)=3
即:(1)+(3)=4

点评

好  发表于 2011-12-16 19:10

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

回复 使用道具 举报 1 0
结果等于4,X++就是先用X参加运算然后再把X的值加1,++X就是先把X加上1,然后把X加上1后的的结果参加运算。(x++)+(++y)这个就让X=1参加运算,++y就是让y先自加1然后在参加运算,也就是(x++)+(++y)=1+(2+1)=4
回复 使用道具 举报
问题都不会问,如果只要结果那就是4,要过程楼上的讲了  Ps:也或许大家多此一举了,你问的仅仅是个结果
回复 使用道具 举报
付旭 黑马帝 2011-12-16 19:11:08
地板
要结果还需要问  直接运行下不就完了
回复 使用道具 举报
张帅 黑马帝 2011-12-16 22:29:11
7#
首先,答案肯定是四,但是他的运算顺序是 从右 像 左 执行的。
回复 使用道具 举报
黄战胜 黑马帝 2011-12-17 14:54:05
8#
对于运算符的操作,只要记住两个规则:
1,运算优先级
    加减,乘除,左移,右移,位运算,等等。这个运算符都有一个运算优先级,记住这个优先级,如果不确定的话,就加();
2,运算的顺序
   给你一个表达式首先要明确这个这些运算符是从左到有运算还是从右往左运算。
记住这两点,一般的运算都是小Kiss。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
窦超 黑马帝 2011-12-19 21:48:18
9#
()的优先级最高,进行自增运算时符号在前就是先运算后取值,符号在后则是先取值后运算。
回复 使用道具 举报
大牛们,那么这个的结果是多少呢
             int x = 2;
             x=x++;
             x=x++;
        System.out.println(x);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马