java类编写的语法

时间:2015-03-16 11:54:08

标签: java class syntax

将java分类结尾是否在语法上是正确的; 在大多数文档中,java类语法不以;

结尾

但是我成功地编译了下面的代码,

public class ClassDemo {
    public static void main (String args[]) {
        System.out.println ("Hello World!");
    }
};

我的问题是,使用;结束类声明是否正确?为什么编译器会忽略它,而且最后是否有;似乎无动于衷?

6 个答案:

答案 0 :(得分:4)

您的代码的语法正确,但;是不必要的。

来自JLS 7.6.

  

额外“;”出现在a中类型声明级别的标记   编译单元对编译的含义没有影响   单元。 Java编程语言允许使用杂散分号   仅作为对习惯于放置“;”的C ++程序员的让步   在课堂宣言之后。它们不应该用在新的Java代码中。

答案 1 :(得分:0)

它在语法上是有效的,但不是必需的,并且按惯例省略。

答案 2 :(得分:0)

它只是一个终结者,所以如果你包括任何地方和任何次数,那么它不会影响你的程序。

答案 3 :(得分:0)

“;”出现在编译单元中类型声明级别的标记对编译单元的含义没有影响。 所以它是可选的。

答案 4 :(得分:0)

我认为你来自javascript这样的背景。 在javascript中,最好使用;结束您的类/方法/脚本。 因为如果你不这样做,它会导致在之后加载的另一个javacript出现问题,因为它被认为是早期脚本的继续部分。

然而在java类中,定义以}结束。之后的任何内容都不会成为此类的一部分,对编译器来说也不是问题。

事实上,你可以在任何java行中拥有尽可能多的;。它对java编译器没有任何影响。

答案 5 :(得分:0)

Java Class以Semicolon(;)

结束

在计算机编程中,分号通常用于分隔多个语句(例如,在Perl,Pascal,PL / I和SQL中;     请参阅Pascal:分号作为语句分隔符)。在其他语言中,分号称为终结符,在每个语句之后都是必需的(例如在Java和C系列中)。今天作为终结者(或没有分号)的分号在很大程度上已经取得了胜利,但这在20世纪60年代到80年代的编程语言中是一个分歧的问题。在这场辩论中有影响力和经常被引用的研究是Gannon& Horning(1975),强烈支持分号作为终结者:

最重要的是,使用分号作为语句终止符比使用分号作为语句分隔符更好。 因此JAVA认为类以(;)作为类终止符。如果你把其他标点符号放在。或者字母编译器会通过错误