如果你在命令行输入命令来执行一个java可执行文件,有时候在启动的时候会需要参数 比如一个类叫test 它可以从命令行获取一个String变量 并把它输出 ,则命令行命令为: java test value 这个value就是存在那个String[] args 中的一个变量 程序输出结果就是 : value
看下面的简单代码 class Test{ public static void main(String[] args){ if(args.length>0){ for(int i=0;i<args.length;i++){ System.out.println(args[i]); } } } } String类型的数组args主要用来接受命令行的参数, 但命令行的参数不包括 java Test 这样的字符串,如果在命令行输入 java Test red,那么就会打印出red。 当在命令行输入参数,执行的时候这个参数就会保存在args这个数组中, 我们就可以用args获取命令行的这个参数
因此,main()方法定义必须是:“public static void main(String 字符串数组参数名[])”。
必须是static的
必须是void的
方法名必须是main
方法参数必须是String数组jvm启动就按照这个标准去找这个方法,找到就执行,找不到就报错
比如一个类叫test 它可以从命令行获取一个String变量 并把它输出 ,则命令行命令为:
java test value 这个value就是存在那个String[] args 中的一个变量 程序输出结果就是 :
value
class Test{
public static void main(String[] args){
if(args.length>0){
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}
}
} String类型的数组args主要用来接受命令行的参数, 但命令行的参数不包括 java Test 这样的字符串,如果在命令行输入 java Test red,那么就会打印出red。
当在命令行输入参数,执行的时候这个参数就会保存在args这个数组中, 我们就可以用args获取命令行的这个参数
对于main方法来说,它是由java虚拟机调用的,所以是public
调用的时候不需要产生任何对象,所以声明为static
main方法是由java虚拟机调用,不需要产生返回值,所以返回类型为void
这是jvm规范,定死的
楼主不必太纠结