a++和++a的区别是什么?

a++和++a 都属于自增运算符,区别是对变量a的值进行自增的时机不同。a++是先进行取值,后进行自增。++a是先进行自增,后进行取值。

例如:假设 x=3,y=4;

(1) (x++)+(++x)=8

解释:对于第一个(x++),因为x++是先取值后自增,所以(x++)所取得值为3,然后x进行自增,此时x=4;对于第二个(++x),因为++x是先自增后取值,所以(++x)所取得值为5,此时x=5,所以结果为8。

(2) (x++)/3+(--y)*2-(x--)%6+(y++)*3-(y--)

1+6-4+9-4=8

解释:首先(x++)取值为3,然后x=4;然后(--y)取值为3,此时y=3;然后(x--)取值为4,然后x=3;然后(y++)取3,然后后y=4;最后(y--)取4,然后y=3;

注意:()可以提高算数优先级,所以先算括号里面的表达式,但是x++的取值为x,然后x在自增。

重点: ++ 运算优先级 很高

面试题:

int  i = 10
i  =  i++ ;

此时,i的值是多少?

答: 输入 i 的值为 10

解析: 首先 i++ 的取值结果为10, 然后 i 进行自增,此时 i=11 ,最后 进行赋值 ,所以 最后输出 i的值 为 10.

更多web开发知识,请查阅 HTML中文网 !!

以上就是a++和++a的区别是什么?的详细内容,更多请关注html中文网其它相关文章!

赞(0) 打赏
未经允许不得转载:html中文网首页 » 前端答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏