我正在学习Java,有一件事我不明白..
在主程序中:
public static void main(String[] args) {
我想我非常理解这一点,用我所知道的语言,我认为它会是这样的:
public static function main(args:String):void {
我不明白的第一件事是String []中的2个括号[]是什么?另外我想知道的第二件事是,如果这是第一个被调用的函数(并且被程序之外的东西调用),那么实际上是否会传递参数?
感谢。
答案 0 :(得分:13)
main的参数是从命令行传入Java的选项,作为数组传入。例如:
java MyProgram foo bar zoo
有三个参数,即foo,bar和zoo
foo是args [0],bar是args [1],动物园是args [2]。
答案 1 :(得分:5)
括号意味着array。例如。 String[]
是一个字符串数组。 main()
- 函数是程序中调用的第一个函数。它由JVM调用。
String[] args
中的值是在命令行上传递的参数。
如果您调用Java程序(主要类:FooBar
中的主要类foo.bar
),请执行以下操作:
java foo.bar.FooBar foo bar buz
然后,args
会像你那样构建它:
String[] args = new String[3];
args[0] = "foo";
args[1] = "bar";
args[2] = "buz";
答案 2 :(得分:1)
括号表示它是一个字符串数组。并且可以存在参数,例如在启动应用程序时从命令行开始。
答案 3 :(得分:0)
这意味着你将得到一个字符串数组。它们可以通过命令行传递
答案 4 :(得分:0)
[]代表数组 字符串x =“某个值”; String [] x = {“value 1”,“value 2”,“value 3”};
所以在第二种情况下,x [0]给出“值1”。它基本上是一个字符串数组。 第二部分是谁将调用该函数?那么这个方法签名就是入口签名,每当你尝试用java程序调用一个类时,它都会搜索这个函数来开始执行;如果它没有找到它;它只会发出错误。
谁将vales传递给String []数组? java someprogram value1 value2 value3
将自动使用相应的三个值填充数组。因此,从命令提示符运行时,基本上会填充值,并将值作为参数传递给调用。
希望清除它