Java公共静态main()

Java公共静态main(),java,Java,我正在学习Java,有一件事我不明白 在主要程序中: public static void main(String[] args) { 我想我非常理解这一点,用我所知道的语言来说,我想应该是这样的: public static function main(args:String):void { 我不明白的第一件事是字符串[]中的两个括号[]代表什么?另外,我想知道的第二件事是,如果这是将被调用的第一个函数(并且由程序外部的东西调用),那么是否真的会传递一个参数 谢谢。括号表示这是一个字符串数

我正在学习Java,有一件事我不明白

在主要程序中:

public static void main(String[] args) {
我想我非常理解这一点,用我所知道的语言来说,我想应该是这样的:

public static function main(args:String):void {
我不明白的第一件事是字符串[]中的两个括号[]代表什么?另外,我想知道的第二件事是,如果这是将被调用的第一个函数(并且由程序外部的东西调用),那么是否真的会传递一个参数


谢谢。

括号表示这是一个字符串数组。并且可以有参数,例如启动应用程序时从命令行获取的参数。

这意味着您将获得一个字符串数组。它们可以通过命令行传递

main的参数是从命令行传递到Java的选项,作为数组传递。例如:

java MyProgram foo bar zoo
接受三个参数,即foo、bar和zoo

foo是args[0],bar是args[1],zoo是args[2]。

。例如,
String[]
是一个字符串数组。
main()
-函数是程序中调用的第一个函数。它被电话呼叫

String[]args
中的值是在命令行上传递的参数

如果您像这样调用Java程序(主类:
FooBar
在package
foo.bar
中):

java foo.bar.FooBar foo bar buz
String[] args = new String[3];
args[0] = "foo";
args[1] = "bar";
args[2] = "buz";
然后,
args
将像这样构建它:

java foo.bar.FooBar foo bar buz
String[] args = new String[3];
args[0] = "foo";
args[1] = "bar";
args[2] = "buz";

这可能值得一读:

[]代表数组 String x=“some value”; 字符串[]x={“值1”、“值2”、“值3”}

因此,在第二种情况下,x[0]给出“值1”。它基本上是一个字符串数组。 第二部分是谁将调用该函数?这个方法签名是入口签名,当你试图用java程序调用一个类时,它会搜索这个函数开始执行;如果没有,;我找不到它;它只会发出一个错误

谁将把值传递给字符串[]数组? java程序值1值2值3

将自动使用相应的三个值填充数组。因此,当从命令提示符运行时,基本上会填充这些值,并将这些值作为参数传递给调用


希望这能澄清问题

谢谢这回答了我的问题,但又引出了一个问题我想知道是否有人能为我回答。如果可以定义字符串[]和int[]之类的数组,那么还有正式的数组类吗?它可以保存不同类型的数据…我假设只有当您想指定数组只能包含特定的数据类型时,才以这种方式定义数组?谢谢。你可以使用集合和向量that@JohnIsaacks“是否还有一个正式的数组类?它可以保存不同类型的数据”:一个对象[]将保存所有类型的引用(因为所有引用类型都是对象的子类型)。在Java中,引用类型和基元类型是分开的,所以所有类型都没有超类型,但是基元类型可以被装箱到引用类型中。感谢您添加这个newacct。