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

public static void main(String[] args)

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

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


当前回答

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

$ java MyProg -f file.txt

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

其他回答

当你完成你的代码时,你将把它转换成一个扩展名为。java的文件,可以通过双击它来运行,但也可以通过控制台(mac上的终端,windows上的cmd.exe)让用户做很多事情。一件事是他们可以看到控制台消息(System.out。print或System.out.println),如果双击就看不到。他们能做的另一件事是指定参数,所以通常你会使用直线

java -jar MyCode.jar

导航到程序的文件夹后

cd C:My/Code/Location

在Windows或

cd My/Code/Location

在Mac上(注意Mac不那么笨重)运行代码,但指定你要使用的参数

java -jar MyCode.jar parameter1 parameter2

这些参数存储在args数组中,你可以在你的程序中使用它,你想让用户控制特殊的参数,如使用什么文件或程序可以有多少内存。如果你想知道如何使用数组,你可以在这个网站上找到一个主题,或者只是谷歌它。注意,可以使用任意数量的参数。

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参数是一个字符串数组,当你在操作系统中通过命令行运行你的应用程序时,它作为参数传递。

假设您已经编译并打包了一个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)

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

在 public static void main(字符串args[]) args是一个控制台行参数数组,其数据类型为String。 在这个数组中,你可以通过在命令行调用它们来存储各种字符串参数,如下所示: java myProgram Shaan Royal 那么Shaan和Royal将被存储在数组中 arg [0] = " Shaan”; arg[1] =“皇家”; 当您不在命令行调用它们时,也可以在程序内部手动执行此操作。