A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

林子大了

初级黑马

  • 黑马币:52

  • 帖子:22

  • 精华:0

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;
}
}
帮忙分析下写出这道题每个步骤,谢谢

2 个回复

倒序浏览
先执行静态代码块,其他按照代码顺序,你知道y=x++等于什么就行了。
回复 使用道具 举报
//你可以把每行注释都去掉, 看看每一步运行后的结果
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
}

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马