public static void main(String[] args)位置问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 14:26:27
下面是1-100求和的程序
public class num
{
public static void main(String[] args)
{
int x;
int i=0;
for(x=0;i<101;i++)
{
x=i+x;
}
System.out.println("1+2.....+100="+x);
}
}
为什么将public static void main(String[] args移到程序system.out.pringln前面就会报错。如下
public class num
{

int x;
int i=0;
for(x=0;i<101;i++)
{
x=i+x;
}
public static void main(String[] args)
{
System.out.println("1+2.....+100="+x);
}
}

先看看我改的结果:
public class num
{
int x;
int i=0;
num()
{for(x=0;i<101;i++)
x=i+x;
}
public static void main(String[] args)
{ num nu=new num();
System.out.println("1+2.....+100="+nu.x);
}
}
这个能出来结果。看来基础不太扎实,对面向对象也不太了解;你报错的例子错在哪呢?首先类中的方法是不能c语言那样刷光杆司令,他必须有一个方法名,就像你的num类中的for语句,我给你的例子中就给他起了个名叫num,你会发现它和你的类名一样,这样的方法就叫构造方法,实例化时被调用;再看你System.out.println("1+2.....+100="+x); 中的x,它是num类中的变量,使用时不能直接x,而是要num.x,这就表示调用了num中的x;为什么第一个例子能运行呢?因为所有变量都是在main函数中,并不在其他类中,这个和c是一样的。劝你要多看看基础