我刚开始用Java写程序。下面的Java代码是什么意思?

public static void main(String[] args)

什么是字符串[]参数? 什么时候使用这些参数?

源代码和/或示例优先于抽象的解释。


当前回答

dataType[] arrayRefVar是首选样式。dataType arrayRefVar[]样式来自C/ c++语言,并在Java中被采用,以适应C/ 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'

String[] args表示传递给“main”函数的字符序列数组(字符串)。这发生在程序执行时。

例如,当你通过命令行执行Java程序时:

这只是一个测试

因此,数组将存储:["This", "is", "just", "a", "test"]

args包含调用时传递给Java程序的命令行参数。例如,如果我像这样调用程序:

$ java MyProg -f file.txt

然后args将是一个包含字符串"-f"和"file.txt"的数组。

除了前面所有的评论。

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™教程。