黑马程序员技术交流社区

标题: 一道题,测试++运算符 [打印本页]

作者: 孔子骑黑马    时间: 2015-9-6 21:00
标题: 一道题,测试++运算符
课上老师讲的,你会吗?
int a=1;
a=a++;
请问:a输出几?
(答案是:1)

作者: 李玉    时间: 2015-9-6 21:03
a++,是先使用再自增;++a是先自增再使用自增后的值。
作者: Wqi    时间: 2015-9-6 21:18
你可以理解为左边的a值是2,但是右边是1,把1赋给a,然后a又成1了
作者: yz112069947    时间: 2015-9-6 21:25
楼上不错、··
作者: 残影    时间: 2015-9-6 23:32
这是优先级问题。在java编译器中,++的优先级大于=,所以a=a++,先把(a++)这个结果开辟一个临时空间存储为1,a++自加1后,此时a=2的,然后执行赋值=,所以就覆盖了之前的2,所以a=1了。
作者: phantom33    时间: 2015-9-23 21:44
以后发帖一定要注意一些




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