Java中的入口函数是main函数,在一个运行的程序中应该只有一个main函数,运行程序之后执行的第一个方法也是main方法。
main方法是固定的写法,public static void main(String[] args){}
,方法名必须是 main()
,也必须是使用 static
修饰的 void
返回值的公共方法。
main方法的写法可能都很熟悉,但是在使用过程中都会发现,main方法的参数也几乎都是 String[] args
,字符串类型的数组,那这个参数有什么意思呢?能不能用其他的方式来给main方法传参?
下面看一组代码,很简单的HelloWorld程序 ex1:
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
使用命令行执行结果:
稍微修改代码如下 ex2:
public class HelloWorld{
public static void main(String[] args){
System.out.println(args[0]);
}
}
使用命令行执行结果如下:
对比之后发现,ex1 中的代码跟ex2中的代码大致一样,ex2 中的代码功能是打印出在命令行中传入的参数。能够看见,String[] args
参数接收的是在运行过程中命令行中传入的参数
再次修改代码如下:
public class HelloWord{
public static void main(String[] args){
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}
}
执行结果如下:
这样以来,main方法中的String[] args
参数的作用就显而易见了。
那能不能使用其他方法代替传参方式呢?
看看下面的代码:
public class HelloWorld{
public static void main(String... args){
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}
}
执行结果如下:
显然,是能够通过可变参数传值,代替 String[] args
的固定写法的