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