黑马程序员技术交流社区

标题: 这个用优先级解释不通啊?各位大神帮帮 [打印本页]

作者: 我是新生    时间: 2015-7-5 23:03
标题: 这个用优先级解释不通啊?各位大神帮帮

int x = 1;
y = x++;
这个输出y = 1,x = 2;
按照优先级来看,++是在=前面的,为什么要先算=,再算++
各位大神帮帮

作者: micro_hx    时间: 2015-7-5 23:12
++是运算之后才能自加的。。。
作者: 我是新生    时间: 2015-7-5 23:15
micro_hx 发表于 2015-7-5 23:12
++是运算之后才能自加的。。。

那y=++x,又怎么解释
作者: 牵着蜗牛去逛街    时间: 2015-7-6 13:02
y=x++是x先把值赋给y,然后自身再加1
作者: vinoMVP    时间: 2015-7-6 13:32
其实只要记住++在x前面就是先加1再赋值,++在x后面就是先赋值再+1就ok了
作者: linqiwang    时间: 2015-7-6 16:08
x++是先赋值后加
作者: 曲终烟尽    时间: 2015-7-6 17:52
这是后加,整行代码运算完才执行这个动作
作者: heima591046495    时间: 2015-7-6 18:53
你就记住++在前先自增1然后才参与运算,,++在后的话先参与运算,也就是先将x的值赋值给y,此刻y是1,然后再自增1,x变为2




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