繁体   English   中英

正确的main方法语法

[英]Correct syntax for main method

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

例1

public static void main(String args[])

要么
例2

public static void main(String[] args)

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

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

main(String [] args)

我们现在要忽略它。

所以,正如你所看到的,我们现在被告知要忽略它,但我想知道:

这些之间是否存在实际差异,如果是,那么什么?

Java语言规范

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

例如:

 byte[] rowvector, colvector, matrix[]; 

该声明相当于:

 byte rowvector[], colvector[], matrix[][]; 

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

但按照惯例,java首选数组声明为String[] args而不是String args[]

所以它更传统 -

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

main方法接受以下方式接受的String数组中的争论

public static void main(String args[])
public static void main(String []args)
public static void main(String... args)

所有这些都是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程序设计理论教程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM