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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 微笑的背后3 中级黑马   /  2015-8-27 23:53  /  2479 人查看  /  27 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo{
                    public static void main(String[] args){
                          int sum = 1;
                          System.out.println(sum++ + ++sum);
                    }
}
思路1:先运行++sum,运行后sum  = 2,然后sum++中的sum就是2,所以就是2+2,输出结果为4
思路2:先读取sum++,读取后sum++还是1,然后自运行一次,sum = 2,所以++sum的值就是3,再
           所以运行后应该是1+3,输出结果为4
这是我跟我室友的两个思路,求大神们解答这两个思路哪个是正确的?

27 个回复

倒序浏览
第二个吧
回复 使用道具 举报
我的想法是思路2.我也不清楚,今天是老师布置得作业
回复 使用道具 举报
应该是第二个吧
回复 使用道具 举报
int sum = 1;
System.out.println(sum++ + sum);//输出3,应该是先读取sum++,同思路二
回复 使用道具 举报
应该是第二个是对的。。。
回复 使用道具 举报
t_lins 中级黑马 2015-8-28 08:00:41
7#
嗯 我觉得第二个
回复 使用道具 举报
debug  之后   sum的确是先   3 然后变成的4所以是2   
        main{
                int sum = 1;
                int i;
               System.out.println(i=sum++ + ++sum);
               System.out.println(i);
        ]
不运行你知道i输出的是几么
回复 使用道具 举报
ln0491 中级黑马 2015-8-28 09:14:26
9#
第二个是对的
回复 使用道具 举报
Glc90 中级黑马 2015-8-28 09:17:30
10#
关于++的用法 这里是参与运算的规则 ++在前是先自增1然后在带入运算 ++在后是先带入然后再自增 所以这里应该是1+3
回复 使用道具 举报
这不是运算符的事情么。运算符的先后顺序,是先++的,再做加法运算的,然而++单独用的时候不管是先++还是后++效果都是一样的哈。所以呢当做++运算的时候就会自动加一,也就是等于2+2了,结果为4
回复 使用道具 举报
路过!!!!1
回复 使用道具 举报
a80C51 来自手机 中级黑马 2015-8-28 12:51:07
13#
这个问题,是不是要考虑下编译原理?
另外,+的运算顺序是自右向左结合吧?
同时,++的优先级高于+,所以,个人认为应该是4=3+1
回复 使用道具 举报
a80C51 来自手机 中级黑马 2015-8-28 12:52:32
14#
不对,应该是4=2+2,不是3+1
回复 使用道具 举报
应该是第二个
回复 使用道具 举报
第二个,其实可以再写个System.out.println(++sum + ++sum);两条输出语句同时输出,通过看结果就可以验证是第几个思路了!!!
回复 使用道具 举报
本帖最后由 王小吉 于 2015-8-28 17:21 编辑

(1)第一个sum抽出来。等待运算(2)第二个sum++此时sum变成2。
( 3)第一个抽出来等待运算的sum此时也变成了2然后和第二个sum相加 结果是4.
    最后一步。第一个sum(此时是2)然后去++ 变成了3.只不过没有输出语句
回复 使用道具 举报
齐伟超 发表于 2015-8-28 08:43
debug  之后   sum的确是先   3 然后变成的4所以是2   
        main{
                int sum = 1;

你这个多此一举没必要再弄个变量i
回复 使用道具 举报
a80C51 发表于 2015-8-28 12:52
不对,应该是4=2+2,不是3+1

你这个是正解 我同意你
回复 使用道具 举报
思路2正确。验证一下
sum++ + ++sum  =1+3
sum++ + sum++  =1+2
++sum + ++sum  =2+3
++sum + sum++  =2+2
思路就会清晰了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马