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

public static void main(String[] args)

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

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


当前回答

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

$ java MyProg -f file.txt

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

其他回答

我会分手

public static void main(String args[])

在部分。

"public"意味着main()可以从任何地方调用。

"static"意味着main()不属于特定对象

"void"表示main()不返回任何值

main是函数名。Main()是特殊的,因为它是程序的开始。

"String[]"表示String数组。

"args"是String[]的名称(在main()函数体中)。"args"不是特殊的;你可以给它取任何别的名字,程序还是一样的。

String[] args是一个字符串的集合,用空格分隔,可以在终端上输入程序。很多时候,初学者不会使用这个变量,但它总是存在,以防万一。

这些是Java中的命令行参数。

换句话说,如果你跑

java MyProgram一二

然后args包含:

["一","二"]

public static void main(String [] args) {
    String one = args[0]; //=="one"
    String two = args[1]; //=="two"
}

这样做的原因是为了配置应用程序以特定的方式运行,或者为它提供所需的一些信息。


如果您是Java新手,我强烈建议您阅读官方的Oracle Java™教程。

String [] args也是在Java中声明String数组的方法。

在这个方法签名中,当方法被调用时,数组参数将被填充值(如这里的其他示例所示)。因为你正在学习,所以值得理解的是,这个args数组就像你在一个方法中自己创建一个一样,如下所示:

public void foo() {
    String [] args = new String[2];
    args[0] = "hello";
    args[1] = "every";

    System.out.println("Output: " + args[0] + args[1]);

    // etc... the usage of 'args' here and in the main method is identical
}

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

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

这只是一个测试

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

您也可以使用下面的语法。

public static void main(String... args)

这里省略,即数据类型String后面的三个点指定零个或多个参数(参数数量可变)。