说下我个人的理解,坦白讲,至于y为什么是0,我也不清楚,坐等高人,
我运行了一下,进行了分析
还有,对于楼主能问出这样的问题,用毕老师的话说就是,很DIAO!- package test;
- public class Test4 {
- static {
- int x = 5;
- }
- static int x, y;
- public static void main(String[] args) {
- x--; //这个x,是static int x,y的 x,上去就--,此时x值为-1
- myMethod(); //转到myMethod()方法中
- System.out.println(x); //输出1,x的两次++
- System.out.println("y:"+y); //不知道为什么是0
- System.out.println(x + y + ++x); //x是1, ++x是2,y是0,所以结果是3
- }
- public static void myMethod(){
- y = x++ + ++x; //两次++,此时x值为1,至于y为什么是0,不解
-
- }
- }
-
复制代码 |