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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fdg666 中级黑马   /  2015-9-9 21:24  /  470 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int a = 4;
a = a++;
System.out.println( a);为什么结果是4

7 个回复

倒序浏览
表达式a=a++的运算过程是先将a的指赋予a!即先运行a=a,再自动加1,这里加1只是作为返回值出现,并没有赋给a!
回复 使用道具 举报
++a是将a自增1并返回a
回复 使用道具 举报
b=b++,输出的a就相当于b吧
回复 使用道具 举报
++在后面就是先赋值(a=4)然后再进行+1操作,++之后是5但是并没有输出来
回复 使用道具 举报
本帖最后由 bdw9005 于 2015-9-9 22:12 编辑

a++即a=a+1,但是题目中,a="a++",也就是将表达式的值赋值给a,   即求表达式的值, ++放在变量后面,先取a的值作为表达式的值,然后进行a+1,故的到如此结果
回复 使用道具 举报
因为=会将右侧结果赋值给左侧,右侧表达式的值为4
回复 使用道具 举报
++a;和a++;各种应用,头痛
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马