我刚开始用Java写程序。下面的Java代码是什么意思?
public static void main(String[] args)
什么是字符串[]参数? 什么时候使用这些参数?
源代码和/或示例优先于抽象的解释。
我刚开始用Java写程序。下面的Java代码是什么意思?
public static void main(String[] args)
什么是字符串[]参数? 什么时候使用这些参数?
源代码和/或示例优先于抽象的解释。
当前回答
您也可以使用下面的语法。
public static void main(String... args)
这里省略,即数据类型String后面的三个点指定零个或多个参数(参数数量可变)。
其他回答
args包含调用时传递给Java程序的命令行参数。例如,如果我像这样调用程序:
$ java MyProg -f file.txt
然后args将是一个包含字符串"-f"和"file.txt"的数组。
在Java中,args以String对象数组的形式包含提供的命令行参数。
换句话说,如果你在你的终端上运行你的程序:
C:/ java MyProgram one two
然后args将包含["one", "two"]。
如果你想输出参数的内容,你可以像这样循环它们…
public class ArgumentExample {
public static void main(String[] args) {
for(int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}
程序将在终端中打印:
C:/ java MyProgram one two
one
two
C:/
我会分手
public static void main(String args[])
在部分。
"public"意味着main()可以从任何地方调用。
"static"意味着main()不属于特定对象
"void"表示main()不返回任何值
main是函数名。Main()是特殊的,因为它是程序的开始。
"String[]"表示String数组。
"args"是String[]的名称(在main()函数体中)。"args"不是特殊的;你可以给它取任何别的名字,程序还是一样的。
String[] args是一个字符串的集合,用空格分隔,可以在终端上输入程序。很多时候,初学者不会使用这个变量,但它总是存在,以防万一。
当你完成你的代码时,你将把它转换成一个扩展名为。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[]只是一个字符串参数的数组,当你运行它时,你可以传递给你的应用程序。为了完成,我可能会补充说,将传递给主方法的方法参数定义为String类型的变量参数(varargs)也是有效的:
public static void mainargs)
换句话说,main方法必须接受String数组(String args[])或varargs (String…Args)作为方法参数。args这个名字也没有什么神奇之处。你也可以写参数,甚至freddiefujiwara,如下所示:
public static void main (String[]参数)
public static void main (String[] freddiefujiwara)