Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么不是一个';参数';Java主方法中的数组?_Java - Fatal编程技术网

为什么不是一个';参数';Java主方法中的数组?

为什么不是一个';参数';Java主方法中的数组?,java,Java,作为Java新手,我知道传递给方法的值称为参数,而在方法定义中接收值的变量称为参数 现在,每当我看到一个用main方法编写的Java类时,方法签名就说 公共静态void main(字符串args[]) {} 例如 虽然我可以给出任何变量名,但如果他们给出的是params[]而不是args[],这难道不合理吗 有什么理论吗?这个名字很贴切args是单个参数,其值为命令行参数数组 首先,在许多语言中,这是一个相当规范的名称。e、 g.在C中,您通常会看到main定义为: int main(int a

作为Java新手,我知道传递给方法的值称为参数,而在方法定义中接收值的变量称为参数

现在,每当我看到一个用main方法编写的Java类时,方法签名就说

公共静态void main(字符串args[]) {}

例如

虽然我可以给出任何变量名,但如果他们给出的是params[]而不是args[],这难道不合理吗


有什么理论吗?

这个名字很贴切
args
是单个参数,其值为命令行参数数组

首先,在许多语言中,这是一个相当规范的名称。e、 g.在C中,您通常会看到
main
定义为:

int main(int argc, char *argv[]);
(其中,
argc
是计数,
argv
是指向每个参数的指针数组)。Java模仿了这一点


我只能猜测为什么规范名称是
args
,而不是
params
。可能是因为如果您想知道第0个arg,请参考
args[0]

main()是一种特殊的方法。args[]是指当程序从程序的用户启动时,主函数接收命令行参数

传递给函数的值是参数。包含这些参数的命名变量称为参数。因此,如果您想含糊其辞,那么在每个方法中命名参数
arg1
arg2
都是非常有效的

这个问题的答案可能会更清楚(或不清楚):


老实说,你没有理由不把它叫做你想要的任何东西。将其称为
args
只是一种惯例。我不建议将其命名为
args
,因为这实际上是每个Java程序员所期望的。但是没有任何东西表明你不能重命名它

class BadArgs {
    public static void main(String params[]) {
        System.out.println(params[0]);
    }
}

C:\Documents and Settings\glowcoder\My Documents>javac BadArgs.java

C:\Documents and Settings\glowcoder\My Documents>java BadArgs Hello!
Hello!

这两种方法都有可能,args和params几乎是一样的,我想他们之所以称之为args,是因为它的命令行“args”是参数。

我投args的票……如果用海盗的声音说,听起来更好。@steve ur right……叫“args”比叫“params”听起来更好:)我通常叫它“params”当我实际使用参数时,以及当我不使用参数时的“忽略”或“egal”(德语中表示“不重要”)时。相关: