我刚开始用Java写程序。下面的Java代码是什么意思?
public static void main(String[] args)
什么是字符串[]参数? 什么时候使用这些参数?
源代码和/或示例优先于抽象的解释。
我刚开始用Java写程序。下面的Java代码是什么意思?
public static void main(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表示传递给“main”函数的字符序列数组(字符串)。这发生在程序执行时。
例如,当你通过命令行执行Java程序时:
这只是一个测试
因此,数组将存储:["This", "is", "just", "a", "test"]
dataType[] arrayRefVar是首选样式。dataType arrayRefVar[]样式来自C/ c++语言,并在Java中被采用,以适应C/ c++程序员。
试试这个:
System.getProperties().getProperty("sun.java.command",
System.getProperties().getProperty("sun.rt.javaCommand"));
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
}
当你完成你的代码时,你将把它转换成一个扩展名为。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数组中,你可以在你的程序中使用它,你想让用户控制特殊的参数,如使用什么文件或程序可以有多少内存。如果你想知道如何使用数组,你可以在这个网站上找到一个主题,或者只是谷歌它。注意,可以使用任意数量的参数。