public class TestVar{
static int j=1;


public static void main(String[] args){
int i=0;
System.out.println(i);
System.out.println(j);

}
   void m() {
 int m=5;
 System.out.println(m);
  }


}
这个程序运行结果为
i=0
j=1
请问为什么没有m=5呢?

解决方案 »

  1.   

    改成子啊面的代码就会有m=5啦
    public class TestVar {
    static int j = 1; public static void main(String[] args) {
    int i = 0;
    System.out.println(i);
    System.out.println(j);
    m();
    } static void m() {
    int m = 5;
    System.out.println(m);
    }}
      

  2.   

    或者改成下面的代码,都会有m=5,总之,一点要调用m()这个方法才会有m=5,
    public class TestVar {
    static int j = 1; public static void main(String[] args) {
    TestVar testVar=new TestVar();
    int i = 0;
    System.out.println(i);
    System.out.println(j);
    testVar.m();
    } void m() {
    int m = 5;
    System.out.println(m);
    }}
      

  3.   

    因为一个类中的代码是从 main方法开始运行的。也就是说开始运行的时候 就是 int i =5;这句。然后依次执行下面的语句直到 main方法执行完毕。  虽然类中有m方法 但是由于没有在main方法中调用 所以不会执行!
    补充下:一个方法如果不调用 是不会自动执行的。main 方法例外是系统自动调用的。所以自动执行。其他的方法必须 直接或间接在main方法中被调用才可以被执行!
    可能你理解成一个类中所有的代码都必须执行了。这是错误的。
      

  4.   

    因为你在main方法里没有调用m(),所以不会打印m=5,新手飘过,不过感觉你更新 o(∩_∩)o...
      

  5.   

    你没有调用m()方法呀...Java中main()是入口点,方法的调用和C一样.你要调用要使用的方法才可以输出和运行相应方法里面的代码!!!
      

  6.   

    你没有调用m()方法呀...Java中main()是入口点,方法的调用和C一样.你要调用要使用的方法才可以输出和运行相应方法里面的代码!!!