public static void main(arge[])
此函数(符合上述格式)是程序的入口,系统会在一开始调用此函数以开始程序的运行。
public 公用的,表示该方法共有,可以被外部访问
static 静态的,运行自动加载,程序运行时会在最开始实例化static类型的东西,比如这里的main函数
void 表示该方法不返回任何数值
main 是函数名
String[] args表示args是一个String类型的数组,存放参数,实际上args是可以随意改变的
有一个例子可以帮助我们理解:
public class Message{
public static void main(String[] a){
if(a[0].equals("-h"))
System.out.println("hello world");
else if(a[0].equals("-g"))
System.out.println("goodbye ");
for(int i=0;i<a.length;i++)
System.out.println(""+a[i]);
}
}
运行时为java Message -h
或者 java Message -g
在后面再加字符串也可以
a实际上就是一个字符数组的名字,作用是用来存储java Message后面跟着传进来的参数。名字可以自定义,但是你改成数字当然不行了,需要符合java中变量的命名规则。如果代码里没有用到这个数组的话随便改都没有问题。但是如果程序里面使用了这个数组的话,改名就需要同时将调用的地方一起改掉。
因为java不知道你是不是会带参数执行。例如java Message 或者 java Message Hello。如果不允许args参数。那么可以在程序中通过
if (args.length!=0) System.out.println("此程序不允许带参数执行");
来避免出现无法处理的错误
一个main()函数只有是 main(String[] x)才是系统的main函数, 程序开始执行的函数。其实它也不过是一个函数而已,你不必想像为一个很特殊的东西,只是系统会去主动找这个函数来执行,你也可以在程序中主动调用main(String[]),当然大多数情况下这都没有必要。
如果不加参数"String[]",就不是原来这个main函数了,只能叫做自己定义的一个函数。 至于String[] x 中的x 只是一个变量名,随便你定义。