我刚开始用Java写程序。下面的Java代码是什么意思?
public static void main(String[] args)
什么是字符串[]参数? 什么时候使用这些参数?
源代码和/或示例优先于抽象的解释。
我刚开始用Java写程序。下面的Java代码是什么意思?
public static void main(String[] args)
什么是字符串[]参数? 什么时候使用这些参数?
源代码和/或示例优先于抽象的解释。
当前回答
我认为上面的答案很好地涵盖了String args[]只是一个字符串参数的数组,当你运行它时,你可以传递给你的应用程序。为了完成,我可能会补充说,将传递给主方法的方法参数定义为String类型的变量参数(varargs)也是有效的:
public static void mainargs)
换句话说,main方法必须接受String数组(String args[])或varargs (String…Args)作为方法参数。args这个名字也没有什么神奇之处。你也可以写参数,甚至freddiefujiwara,如下所示:
public static void main (String[]参数)
public static void main (String[] freddiefujiwara)
其他回答
除了前面所有的评论。
public static void main(String[] args)
可以写成
public static void main(String...arg)
or
public static void main(String...strings)
这些是Java中的命令行参数。
换句话说,如果你跑
java MyProgram一二
然后args包含:
["一","二"]
public static void main(String [] args) {
String one = args[0]; //=="one"
String two = args[1]; //=="two"
}
这样做的原因是为了配置应用程序以特定的方式运行,或者为它提供所需的一些信息。
如果您是Java新手,我强烈建议您阅读官方的Oracle Java™教程。
当从控制台中执行java类时,将调用main方法。为了实现这一点,这个主方法的定义必须是
public static void main(String [])
这个字符串数组被称为args是一个标准约定,但不是严格要求的。在调用程序时,可以在命令行中填充此数组
java MyClass a b c
它们通常用于定义程序的选项,例如要写入或读取的文件。
String[] args参数是一个字符串数组,当你在操作系统中通过命令行运行你的应用程序时,它作为参数传递。
假设您已经编译并打包了一个myApp.jar Java应用程序。当然,你可以在操作系统中双击应用程序来运行应用程序,但你也可以使用命令行方式运行它,比如(在Linux中):
user@computer:~$ java -jar myApp.jar
当你调用你的应用程序传递一些参数时,比如:
user@computer:~$ java -jar myApp.jar update notify
java -jar命令将你的Strings更新和通知传递给你的公共静态void main()方法。
然后你可以这样做:
System.out.println(args[0]); //Which will print 'update'
System.out.println(args[1]); //Which will print 'notify'
我会分手
public static void main(String args[])
在部分。
"public"意味着main()可以从任何地方调用。
"static"意味着main()不属于特定对象
"void"表示main()不返回任何值
main是函数名。Main()是特殊的,因为它是程序的开始。
"String[]"表示String数组。
"args"是String[]的名称(在main()函数体中)。"args"不是特殊的;你可以给它取任何别的名字,程序还是一样的。
String[] args是一个字符串的集合,用空格分隔,可以在终端上输入程序。很多时候,初学者不会使用这个变量,但它总是存在,以防万一。