**## 标题深度解析x++和++x到底怎么算出来的**
1.int x=5; Sysem.out.println(x); 那么x结果肯定是5,
2.如果是这样呢?结果会是多少
class{
int x=5;
System.out.println(x++);System.out.println(x);
System.out.println(x+++x);System.out.println(x);
System.out.println(x++);System…out.println(x);
}
3.按照我个人计算的结果:5,6,13,7,7,8
用eclipse计算后,也是5,6,13,7,7,8
4.那我是怎么计算的:
算法原则:取上值法和x++实际取值存在法,
第一行解释:
那么这个值怎么取呢?很简单,首先设定的是int x=5;那么下面打印取值算法是取上一步内容的x值,第一个打印x++的值取上一个x的值,上一个设定值是int x=5。那么多打印x++的取值就是5,打印 x 也取上一个x的值,
第一步打印x++本身是使用取上值法,第二次打印是实际取值存在法,实际取值存在设定 x++ 存在,也就是说x++ 等于x+1;所以x+1变成5+1=6。
第二行解释:
上一行已经计算出x值,x=6;再使用实际取值存在法和取上值法计算第二行,(x+++x)变成(6+++6),变成((6自增为7)+6)=13,第二行打印x,(x+++x),x++从6变成7.使用取上值法,x打印出结果为7;
第三行解释:
打印x++也使用取上值法,取上个打印x的值,也就打印出x++为7,最后一个打印x也使用实际取值存在法和取上值法,上一个x的取值为7,实际取值存在法设定x++变成7++=8,最后结果打印x为8