Java阵列声明括号放置

时间:2009-07-09 12:51:42

标签: java

我正在尝试从Java程序中打印“Hello World”,但我对主要方法有点困惑:

public static void main(String[] args)

public static void main(String args[])

这两个功能都执行相同的任务。这是怎么发生的?

我知道String的功能,但不知道args的功能。

7 个答案:

答案 0 :(得分:17)

在Java中:

String args[]

完全等同于:

String[] args

答案 1 :(得分:12)

您正在定义名为“main”的方法,public(任何人都可以调用它),static(它是类方法,而不是实例方法),并返回void (不返回任何内容),并采用名为args的{​​{1}}数组参数。

在Java中,您可以将String数组声明为:

String

String[] args

答案 2 :(得分:3)

您可以用两种等效的方式在Java中定义一个数组(如您所写):

  • String [] args
  • String args []

所以这并不重要。不过,第一种方式更常见。

答案 3 :(得分:0)

在java中,您的数组声明可以在变量的类型或名称之后,因此两种方法都可以执行相同的功能。

args用于存储命令行参数。

java YourClass arg1 arg2

arg1和arg2将存储在索引args [0]和arg [1]的args数组中。

答案 4 :(得分:0)

args变量用于程序的输入。请参阅command-line arguments上的教程。

答案 5 :(得分:0)

我会尝试解释这一行的所有部分 public static void main(String [] args)

main :它是从C继承的Java约定。第一个运行名为main的方法。

void :此方法应该不返回任何内容,在java中称为void

static :您不需要创建此类的实例来运行此方法(完全逻辑,如果是第一个运行)

public :可以从其他类调用此方法,甚至可以在包之外调用此方法(同样,它的逻辑也是第一个被调用的方法)

现在问题 String [] args 完全等同于 String args [] String [] name ...无论如何,它表示args(或最后一种情况下的名称)是该方法接收的字符串数组的名称。它是一个数组,因为符号 [] 并且在java中有效将符号放在类型前面( String 对于这种情况)或者在名称前面变量( args )。 如果你在方法main中使用命令如“java myprogram argument1 argument2”从终端运行你的程序,args的值将是 args = [“argument1”,“argument2”] < / em>

答案 6 :(得分:0)

两者之间确实存在无差异,但根据Java标准,制作数组的惯例是:

String[] args

而不是

String args[]

同样有效的形式也使用省略号(仅用于无限数组):

String...args

Java中 psvm()的简要概述:

public :该方法可以在课堂内或课堂外的任何地方访问,甚至可以在课程外部访问。

static :该方法由所有对象共享,并且不需要创建任何对象来调用此方法。

void :这个特殊的main()方法不能返回任何值,所以这里我们必须使用void;这是需要遵循的语法。

main():这是您执行的代码或类的入口点。在大多数情况下,这也是代码的退出点。

String [] args :这些是运行时命令行参数,无论您是否传递它们,都必须在参数中提及它们。