Java中x++与++x的区别

面试中常见的一个问题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

你可能感兴趣的:(Java中x++与++x的区别)