java中单行注释和多行注释的区别是什么?

java中单行注释和多行注释的区别是什么?,java,compiler-construction,Java,Compiler Construction,我只是想知道java编程语言中的单行注释和多行注释有什么区别 多行注释 /* * This is line 1 * This is line 2 /* 单行注释 // This is line 1 // This is line 2 那么,从.java到.class的程序翻译来看,这两个注释有什么区别呢?或者换句话说,为什么我们需要单行注释,而我们已经有了多行注释。 我已经知道,在词法分析器阶段,编译器会删除注释。这只是为了方便程序员。例如,当我写一段评论时,我不想在每一行前面加//前缀

我只是想知道java编程语言中的单行注释和多行注释有什么区别

多行注释

/*
 * This is line 1
 * This is line 2
/*
单行注释

// This is line 1
// This is line 2

那么,从.java到.class的程序翻译来看,这两个注释有什么区别呢?或者换句话说,为什么我们需要单行注释,而我们已经有了多行注释。
我已经知道,在词法分析器阶段,编译器会删除注释。

这只是为了方便程序员。例如,当我写一段评论时,我不想在每一行前面加//前缀。另外,/**/允许您将注释“内联”放置

System.out.println(2 + /* inline comment */ 2);

没有区别。这取决于用户的偏好

然而,这些语法的特殊变化是通过生成文档来解释的

/**
 * Short one line description.
 *
 * Longer description. If there were any, it would be
 * here.
 * <p>
 * And even more explanations to follow in consecutive
 * paragraphs separated by HTML paragraph breaks.
 *
 * @param  variable Description text text text.
 * @return Description text text text.
 * @throws IOException Explanation of why this exception is thrown.
 */

没有任何区别。所有注释都将被删除,因此无论其格式如何,执行时注释都不会影响程序。这是一个方便的问题。

编译器和程序员没有区别

如果我必须写更长的评论,我会使用/**/

//在调试时注释掉几行代码非常好,特别是当您有几行代码并且希望取消注释中间的一行代码时

// statement 1
// statement 2
statement 3
// statement 4
实现起来比实现起来容易

/* statement 1
   statement 2
*/
statement 3
/*
   statement 4
*/
但归根结底,这都是个人品味。

这是我的建议

单身

的单行注释描述类、接口、方法或变量

多重


只使用多行注释注释代码部分

,因为//I'm single comment比//I'm single comment*容易。一个是多行注释,一个是单行注释。那么这两个注释在程序效率方面有什么区别,或者换句话说,为什么我们需要单行注释,当我们已经有多行注释时。我已经知道,在词法分析器阶段,编译器会删除注释。-这两种说法相互矛盾。效率没有差别。这一点都不重要。内联评论差异为+1。谢谢,我知道了…: