JAVA 中的一个线性方程中多次 pre/post 递增的顺序是什么?
What is the order of multiple pre/post incrementations in one line equation in JAVA?
我有这段代码在JAVA8:
int x=3;
int y = --x + x++ + --x ;
System.out.print("y: " + y + " x: "+x);
据我了解应该这样拆分:
- y = 2 + x++ + --x; x = 2
- y = 2 + 2 + --x; x = 2
- y = 2 + 2 + 1; x = 1
- y = 5; x = 2
并打印 y: 6 x: 2
这里的操作顺序是什么?
这是因为 pre
和 post
增量工作的方式,它得到这样的评估:
1. y = --x + x++ + --x ;
2. y = 2 + (2)++ + --(3);
3. y = 2 + 2 + 2;
4. y = 6
经过2次递减和1次递增后,x
变为2。
我有这段代码在JAVA8:
int x=3;
int y = --x + x++ + --x ;
System.out.print("y: " + y + " x: "+x);
据我了解应该这样拆分:
- y = 2 + x++ + --x; x = 2
- y = 2 + 2 + --x; x = 2
- y = 2 + 2 + 1; x = 1
- y = 5; x = 2
并打印 y: 6 x: 2
这里的操作顺序是什么?
这是因为 pre
和 post
增量工作的方式,它得到这样的评估:
1. y = --x + x++ + --x ;
2. y = 2 + (2)++ + --(3);
3. y = 2 + 2 + 2;
4. y = 6
经过2次递减和1次递增后,x
变为2。