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