4

这是一个完全的初学者问题。我是 java 新手,一直在浏览 StackOverflow 和 CodeReview。我发现正在使用这两种不同的格式:

示例 1

public static void main(String args[])


示例 2

public static void main(String[] args)

这是我在课程笔记中的内容:

这些词称为修饰语。main() 方法前面也有 void 这个词,表示它不返回任何值。此外 main() 方法总是有一个可以传递给程序的命令行参数列表

主要(字符串 [] 参数)

我们现在将忽略它。

所以,正如你所看到的,我们被告知暂时忽略这一点,但我想知道:

这些之间是否有实际区别,如果有,那是什么?

4

4 回答 4

8

来自Java 语言规范

[] 可以作为类型的一部分出现在声明的开头,或者作为特定变量的声明符的一部分,或者两者兼而有之。

例如:

byte[] rowvector, colvector, matrix[];

这个声明等价于:

byte rowvector[], colvector[], matrix[][];
于 2013-09-18T07:20:02.237 回答
4

实际上,两个定义之间没有区别,main-method并且都是正确的。

但按照惯例,java 更喜欢数组声明String[] args而不是String args[].

所以它更传统 -

public static void main(String[] args){...}
于 2013-09-20T04:51:20.127 回答
4

main 方法接受字符串数组中的争论,接受以下方式

public static void main(String args[])
public static void main(String []args)
public static void main(String... args)
于 2013-09-20T04:55:11.863 回答
1

所有这些都是 Java 中 main 函数的有效声明。

public static void main(String[] args) {
    // code
}

static public void main(String[] args) {
    // code
}

static public void main(String args[]) {
    // code
}

public static void main(String[] MarkElliotZuckerberg) {
    // code
}

public static void main(String... NewYork) {
    // code
}
  • 关键字 public 和 static 是可以互换的,但是是必须的。
  • main 方法的参数可以采用 var-args 语法。
  • 这个名字可以是任何东西..!

这些是无效的主要方法声明的例子 -

static void main(String[] args) {
    // public is missing
}

public void main(String args[]) {
    // static is missing
}

public static int main(String... Java) {
    // return type not void

    return 0;
}

public void Main(String args[]) {
    // "main" not "Main"
}

public void main(string args[]) {
    // "String" not "string"
}

public void main(String.. SayHi) {
    // Ellipses is 3 dots !
}

如果源代码不那么可读,我很抱歉......我总是在发布源代码时遇到问题......:P......希望这会有所帮助......!如果是这样,请通过评论告诉我..!

来源 - Java 编程理论教程

于 2015-06-03T19:07:54.853 回答