我在JAVA 8中有这段代码:
In [3]: %load_ext autoreload
In [4]: %autoreload 2
据我所知,它应该像这样分开:
并打印int x=3;
int y = --x + x++ + --x ;
System.out.print("y: " + y + " x: "+x);
这里的操作顺序是什么?
答案 0 :(得分:1)
这是因为pre
和post
增量的工作方式,它的评估方式如下:
1. y = --x + x++ + --x ;
2. y = 2 + (2)++ + --(3);
3. y = 2 + 2 + 2;
4. y = 6
在2次递减和1次递增后,x
变为2。