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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© anTG 中级黑马   /  2016-11-24 01:19  /  2449 人查看  /  45 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

main里,
a = a++;
System.out.println(a);
结果等于多少?
why?
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端

45 个回复

倒序浏览
忘了说了,上面还有一个int a = 5;
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
输出结果为6啊,a=5,a++自曾1,然后在赋值给a本身 最后输出打印结果是6 不要按照数学的思路去想就好了。等号右边的数是赋给左面的,而不是左右相等。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
晓勃 发表于 2016-11-24 01:46
输出结果为6啊,a=5,a++自曾1,然后在赋值给a本身 最后输出打印结果是6 不要按照数学的思路去想就好了。等 ...

其实是先赋值再自增1
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
先赋值,再自增,输出a,为6.另,打印a++,它也是6
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
System.out.println(a);
回复 使用道具 举报
int a = 5;                 int b = 5;                 a=a++;                 b=a;
回复 使用道具 举报
int a = 5;                 int b = 5;                 a=a++;                 b=a;                                 System.out.println(a);                 System.out.println(b);这个a输出为5,b也为5;
回复 使用道具 举报
回复 使用道具 举报
a=++a 结果为五  a=a++ 结果为六
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
anTG 中级黑马 2016-11-24 10:04:19
12#
FAN8210 发表于 2016-11-24 07:00
先赋值,再自增,输出a,为6.另,打印a++,它也是6

真相是要通过实践来检测的
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
anTG 中级黑马 2016-11-24 10:06:20
13#
乡村看水 发表于 2016-11-24 09:58
a=++a 结果为五  a=a++ 结果为六

你这说反了吧
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
anTG 中级黑马 2016-11-24 10:08:07
14#
杨森的安卓路 发表于 2016-11-24 09:17
int a = 5;                 int b = 5;                 a=a++;                 b=a;                                 System.out.println(a);                 System.out.println(b);这个a输出 ...

why?  不是很理解这个结果               
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
anTG 中级黑马 2016-11-24 10:11:23
15#
yellowredroc 发表于 2016-11-24 02:00
其实是先赋值再自增1

但是它不是6
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
anTG 发表于 2016-11-24 10:06
你这说反了吧

嗯是说反了好尴尬
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
anTG 发表于 2016-11-24 10:06
你这说反了吧

a++是先给左面赋值再自增 ++a是先自增再赋值 这下对了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
结果是6。a=a++的时候的a确实是5,但是你输出a时候a已经自增1过了,所以是6。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
anTG 中级黑马 2016-11-24 12:07:18
19#
duanqichao 发表于 2016-11-24 10:38
结果是6。a=a++的时候的a确实是5,但是你输出a时候a已经自增1过了,所以是6。
...

所以就有问题了,结果是5
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
anTG 中级黑马 2016-11-24 12:08:32
20#
乡村看水 发表于 2016-11-24 10:28
a++是先给左面赋值再自增 ++a是先自增再赋值 这下对了

照这样子,结果就不是5了啊
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马