黑马程序员技术交流社区

标题: 帮忙分析下这道题(涉及静态变量,i++运算符优先级),谢谢 [打印本页]

作者: 林子大了    时间: 2015-12-12 21:41
标题: 帮忙分析下这道题(涉及静态变量,i++运算符优先级),谢谢
public class Test{
              static{
                         int x=5;
}
              static int x,y;
              pubic static void main(String[] args){
                        x--;
                        myMethod();
                       System.out.println(x+ y++ +x);
}
                       public static void myMethod(){
                                    y=x++  +   ++x;
}
}
帮忙分析下写出这道题每个步骤,谢谢
作者: li151385    时间: 2015-12-12 22:32
先执行静态代码块,其他按照代码顺序,你知道y=x++等于什么就行了。
作者: 李冰    时间: 2015-12-13 00:30
//你可以把每行注释都去掉, 看看每一步运行后的结果
public class Demo{
              static{
                         int x=5;
}
              static int x,y;
              public static void main(String[] args){
                      // System.out.println(x);       0
                      // System.out.println(y);       0
                         x--;
                       // System.out.println(x);     -1
                       // System.out.println(y);      0
                        myMethod();
                       // System.out.println(x);      1
                       // System.out.println(y);      0
                       System.out.println(x+ y++ +x);          // 1+0+1=2
}
                       public static void myMethod(){   //  进入此方法时  x=-1  y=0
                                    y=x++  +   ++x;               //y=-1+1
                            // System.out.println(x);    1
                            //System.out.println(y);     0
}

}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2