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

public static void main(String[] args)

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

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


当前回答

用通俗易懂的语言解释。

当我们将JVM指向类名时,main方法希望我们提供一些参数。这意味着,假设你的文件名是Try.java,现在要在命令提示符中执行这个命令,你写“javac Try.java”来编译,然后再写“java Try”来执行。现在假设不是简单地写“java Try”而是写“java Try 1”。这里你传递了一个参数“1”。这将由你的main方法获取,即使你没有在你的代码中使用它。

如果你想检查你的主方法是否真的取了参数"1"简单地,在你的main方法中输入以下内容:

for(int i = 0; i < args.length; i++) {
        System.out.println("Argument is: "+args[i]);
    }

其他回答

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

$ java MyProg -f file.txt

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

当从控制台中执行java类时,将调用main方法。为了实现这一点,这个主方法的定义必须是

public static void main(String [])

这个字符串数组被称为args是一个标准约定,但不是严格要求的。在调用程序时,可以在命令行中填充此数组

java MyClass a b c

它们通常用于定义程序的选项,例如要写入或读取的文件。

用通俗易懂的语言解释。

当我们将JVM指向类名时,main方法希望我们提供一些参数。这意味着,假设你的文件名是Try.java,现在要在命令提示符中执行这个命令,你写“javac Try.java”来编译,然后再写“java Try”来执行。现在假设不是简单地写“java Try”而是写“java Try 1”。这里你传递了一个参数“1”。这将由你的main方法获取,即使你没有在你的代码中使用它。

如果你想检查你的主方法是否真的取了参数"1"简单地,在你的main方法中输入以下内容:

for(int i = 0; i < args.length; i++) {
        System.out.println("Argument is: "+args[i]);
    }

dataType[] arrayRefVar是首选样式。dataType arrayRefVar[]样式来自C/ c++语言,并在Java中被采用,以适应C/ c++程序员。

我会分手

public static void main(String args[])

在部分。

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

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

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

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

"String[]"表示String数组。

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

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