面试中常见的一个问题x++跟++x的区别
一般回答都是x++是先运算然后自增,而++x则是x自增然后运算。单独使用时他们没有区别。
下面我们上代码
int x = 5;
int y = x++;
由于x++参与了运算,所以先将x的值赋给了y,然后再进行自增运算。
如果是下面的代码呢?
int x = 5;
System.out.println(x++);
打印结果是多少呢?
结果还是5;
不管x++是否参与了运算,我们使用x++的时候,都是先得到x的值,然后再自增。如果是++x则先将x自增1,然后再使用x+1后的值。
x++和++x 两者区别: 如果单独作为一条语句的话,并没有区别例如 x++;和++x;没有任何区别 如果作为一个表达式;前者表达式值为x,然后x自身+1;后者表达式值x自身+1以后的x值, 例:x=1; a=x++;这里a结果是1;x是2; x=1;a=++x; 这里a结果是2, x结果也是2