Java单行注释用//,从//到行末;多行注释用/.../,不支持嵌套和半行续写;文档注释/*.../供javadoc使用;注释内字符串不受影响,但字符常量中误写/*会编译失败。
Java里单行注释用 //,多行注释用 /* ... */,但二者不能嵌套,且多行注释不支持“半行续写”式写法。
// 的实际用法它从 // 开始直到行末都视为注释内容,适合快速说明某一行逻辑或临时屏蔽代码。
int x = 1; // 初始化x
//,否则下一行不是注释// 或 /*,可能造成意外语法混乱
/* ... */ 的边界行为它从 /* 开始,到最近的 */ 结束,中间所有内容(含换行、空格、甚至无效语法)都被忽略。
/* public void foo() { ... } */
/* /* inner */ outer */ 会报错,因为第一个 */ 就结束了整个注释*/,编译器会一路吞掉后面所有代码,直到文件末尾或遇到下一个 */,错误提示往往在很远之后才出现/** ... */ 是特例,会被 javadoc 工具识别,但它不属于普通多行注释范畴注释不是“安全区”,它和代码共享同一解析上下文,某些位置放错会直接破坏语法结构。
立即学习“Java免费学习笔记(深入)”;
// 或 /* 不会触发注释——它们就是普通字符:String s = "x // y";
/*,比如 char c = '/*';,会编译失败,因为字符字面量只允许单个字符Stri// comment ng 不等于 String,编译器按词法切分,Stri 是非法标识符*/,但手写时容易漏掉,尤其在复制粘贴大段注释后真正麻烦的不是语法记不住,而是注释消失在编辑器高亮里后,你忘了它还卡在某个 /* 没闭合——这种错误往往要靠编译失败的位置反推,而不是靠眼睛扫出来。