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

本帖最后由 Aaron_wang 于 2015-11-26 21:22 编辑

好吧,激动了,之前写错了,现在更正:
public class H {
       
        public static void main(String[] args) {
                int count = 0;
                int a = 0;
                count += count++;
                a = count + count++;
                System.out.println(count);
                System.out.println(a);
        }

}


能说出结果么
在int count = count + count++;中count的值是怎么变化的呢?

27 个回复

正序浏览

因为count++还没完成,赋值运算的优先级低于count的自增运算,所以先自增
回复 使用道具 举报

666哈哈哈
回复 使用道具 举报
本帖最后由 13277988289 于 2015-11-28 22:38 编辑

C:\Users\Administrator\Desktop\temp\snip.PNG为什么该处未赋值

snip.PNG (1.88 KB, 下载次数: 20)

snip.PNG
回复 使用道具 举报
n++,总是等前面的操作数做出运算后在自增
回复 使用道具 举报
1,0 很简单
回复 使用道具 举报

代码描述不行,   int  a= 0;  a ++ 结果0   ++a  结果1  
一个先执行,一个后执行
回复 使用道具 举报
oup 中级黑马 2015-11-27 23:01:10
22#
有点小绕
回复 使用道具 举报
1,0{:3_62:}
回复 使用道具 举报
count += count++;即count = count + count++;
count++,先计算后自增
第一步:count为0,0+0得到0(并未赋值给左边);
第二步:count自增,count = 1;
第三步:将第一步的0赋值给count,count = 0;
a = count + count++;
没了上面的的第三步,那么0赋值给a,a = 0,count不变,count = 1
回复 使用道具 举报

答案是1,0
回复 使用道具 举报
本帖最后由 Aaron_wang 于 2015-11-27 22:14 编辑
迷茫不堪的年纪 发表于 2015-11-27 00:47
没看到, 但是你的意思 应该是我之前说的那样

你太自信了,1,0
回复 使用道具 举报
应该是2,2,
回复 使用道具 举报
Aaron_wang 发表于 2015-11-26 21:23
之前重复定义了,写错了额,再看看

没看到, 但是你的意思 应该是我之前说的那样
回复 使用道具 举报
难道是2,2?
回复 使用道具 举报
什么东东
回复 使用道具 举报
我怎么感觉输出结果都是2
回复 使用道具 举报
zqiang 发表于 2015-11-26 20:21
额,楼主可能太激动了,代码有问题吧

激动了,,
回复 使用道具 举报

嗯,更正了
回复 使用道具 举报
隔壁马良 发表于 2015-11-26 00:39
int count = 0;
int count += count++;这声明有问题吧

嗯嗯额,修正了~
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马