我正在尝试从Java程序中打印“Hello World”,但我对主要方法有点困惑:
public static void main(String[] args)
和
public static void main(String args[])
这两个功能都执行相同的任务。这是怎么发生的?
我知道String的功能,但不知道args的功能。
答案 0 :(得分:17)
在Java中:
String args[]
完全等同于:
String[] args
答案 1 :(得分:12)
您正在定义名为“main”的方法,public
(任何人都可以调用它),static
(它是类方法,而不是实例方法),并返回void
(不返回任何内容),并采用名为args
的{{1}}数组参数。
在Java中,您可以将String数组声明为:
String
或
String[] args
答案 2 :(得分:3)
您可以用两种等效的方式在Java中定义一个数组(如您所写):
所以这并不重要。不过,第一种方式更常见。
答案 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 :这些是运行时命令行参数,无论您是否传递它们,都必须在参数中提及它们。