黑马程序员技术交流社区

标题: 更正~~一个超级简单的题目!口算答题 [打印本页]

作者: Aaron_wang    时间: 2015-11-25 23:00
标题: 更正~~一个超级简单的题目!口算答题
本帖最后由 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的值是怎么变化的呢?
作者: 迷茫不堪的年纪    时间: 2015-11-25 23:35
你代码有问题, 无发编译运行  .  你想要的结果应该是  1  2  俩次自增
作者: 隔壁马良    时间: 2015-11-26 00:39
int count = 0;
int count += count++;这声明有问题吧
作者: bukai123    时间: 2015-11-26 09:19
0,,,如何Int a = 0;那个应该是1
作者: anuo    时间: 2015-11-26 09:34
两次自增
作者: fsociety    时间: 2015-11-26 16:57
定义错误
作者: love60477002    时间: 2015-11-26 20:20
应该是不能编译的
作者: zqiang    时间: 2015-11-26 20:21
额,楼主可能太激动了,代码有问题吧
作者: Aaron_wang    时间: 2015-11-26 21:23
迷茫不堪的年纪 发表于 2015-11-25 23:35
你代码有问题, 无发编译运行  .  你想要的结果应该是  1  2  俩次自增

之前重复定义了,写错了额,再看看
作者: Aaron_wang    时间: 2015-11-26 21:35
隔壁马良 发表于 2015-11-26 00:39
int count = 0;
int count += count++;这声明有问题吧

嗯嗯额,修正了~
作者: Aaron_wang    时间: 2015-11-26 21:37
fsociety 发表于 2015-11-26 16:57
定义错误

嗯,更正了
作者: Aaron_wang    时间: 2015-11-26 21:40
zqiang 发表于 2015-11-26 20:21
额,楼主可能太激动了,代码有问题吧

激动了,,
作者: 小笨笨天    时间: 2015-11-26 21:48
我怎么感觉输出结果都是2
作者: 一江夜雨    时间: 2015-11-26 23:14
什么东东
作者: 隔壁马良    时间: 2015-11-26 23:34
难道是2,2?
作者: 迷茫不堪的年纪    时间: 2015-11-27 00:47
Aaron_wang 发表于 2015-11-26 21:23
之前重复定义了,写错了额,再看看

没看到, 但是你的意思 应该是我之前说的那样
作者: mark_time    时间: 2015-11-27 18:37
应该是2,2,
作者: Aaron_wang    时间: 2015-11-27 22:02
本帖最后由 Aaron_wang 于 2015-11-27 22:14 编辑
迷茫不堪的年纪 发表于 2015-11-27 00:47
没看到, 但是你的意思 应该是我之前说的那样

你太自信了,1,0
作者: Aaron_wang    时间: 2015-11-27 22:16
隔壁马良 发表于 2015-11-26 23:34
难道是2,2?

答案是1,0
作者: Aaron_wang    时间: 2015-11-27 22:25
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
作者: 晚睡晚起的    时间: 2015-11-27 22:45
1,0{:3_62:}
作者: oup    时间: 2015-11-27 23:01
有点小绕
作者: 迷茫不堪的年纪    时间: 2015-11-28 00:22
Aaron_wang 发表于 2015-11-27 22:02
你太自信了,1,0

代码描述不行,   int  a= 0;  a ++ 结果0   ++a  结果1  
一个先执行,一个后执行
作者: 你是对的    时间: 2015-11-28 18:36
1,0 很简单
作者: 萧未然    时间: 2015-11-28 20:51
n++,总是等前面的操作数做出运算后在自增
作者: 13277988289    时间: 2015-11-28 22:35
本帖最后由 13277988289 于 2015-11-28 22:38 编辑

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

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

snip.PNG

作者: Aaron_wang    时间: 2015-11-28 23:08
你是对的 发表于 2015-11-28 18:36
1,0 很简单

666哈哈哈
作者: Aaron_wang    时间: 2015-11-28 23:20
13277988289 发表于 2015-11-28 22:35
为什么该处未赋值

因为count++还没完成,赋值运算的优先级低于count的自增运算,所以先自增




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