java基础小模块——注释
本文最后更新于4 天前,其中的信息可能已经过时,如有错误请发送邮件到1464396208@qq.com
## 整体流程图

```mermaid
flowchart TD
    A[引入:什么是注释] --> B[注释的作用与意义]
    B --> C[注释的三大类型]
    C --> C1[单行注释 //]
    C --> C2[多行注释 /* */]
    C --> C3[文档注释 /** */]
    C1 --> D[实战演示:给 HelloWorld 加注释]
    C2 --> D
    C3 --> D
    D --> E[常见问题与注意事项]
    E --> E1[注释不参与编译与运行]
    E --> E2[多行/文档注释不能嵌套]
    E --> E3[标点必须使用英文状态]
    E --> E4[中文注释乱码与编码问题]
    E4 --> F[解决方案:-encoding 指定编码]
    F --> G[总结:快捷键与最佳实践]
```

各章节详细知识点

📌 一、注释的概念与作用

主题内容

注释是写在代码中、对代码进行解释说明的文字,它是给人看的,而不是给计算机执行的。

核心概念

  • 注释(Comment):在程序中对代码进行解释、说明、标注的文本,用于提高代码的可读性可维护性
  • 注释本质上是一段”被忽略”的文本——编译器在编译阶段会将其直接跳过

核心特性/工作原理

  • 注释不参与编译.java 源码经 javac 编译后生成的 .class 字节码中不包含注释内容。
  • 注释不参与运行:JVM 执行 .class 文件时,注释内容完全不存在,因此不会影响程序运行结果。
  • 从”预编译”角度理解:注释在编译预处理阶段相当于被”删除”了。

对比/示例/注意事项

为什么需要注释?

  1. 方便自己后期读懂代码——”一周前自己写的代码,我已经看不懂了”。
  2. 方便他人协作——团队开发时让别人快速理解代码意图。
  3. 便于调试定位——暂时注释掉某段代码来排查问题(考试写注释甚至能拿分)。

⚠️ 注意事项:注释是”解释代码”而非”让代码失效”的手段。它要说明为什么这样做,而不是简单重复代码做了什么。


📌 二、单行注释(Single-line Comment)

主题内容

单行注释是最常用的注释方式,用于对某一行代码或某段逻辑进行简短说明。

核心概念

  • 语法:// 注释内容
  • 作用范围:从 // 开始,直到本行行尾结束,仅对当前行生效。

核心特性/工作原理

  • 只有 // 之后的同一行内容会被忽略;换行后自动结束注释。
  • 可单独占一行,也可写在代码语句的右侧(行尾注释)。

对比/示例/注意事项

// 这是一个单行注释,独占一行
public class HelloWorld {
   public static void main(String[] args) {
       System.out.println("HelloWorld"); // 这是行尾注释
  }
}

⚠️ 注意事项:

  • 注释中的标点符号必须使用英文状态(半角),中文标点可能导致语法报错。
  • 单行注释不存在嵌套问题,因为注释到行尾即结束。

📌 三、多行注释(Multi-line Comment / Block Comment)

主题内容

多行注释用于对跨越多行的代码块或较长的说明文字进行注释,适合写详细的段落说明。

核心概念

  • 语法:/* 注释内容 */
  • 作用范围:从 /* 开始,到最近的 */ 结束,中间可跨任意多行。

核心特性/工作原理

  • 编译器遇到 /* 后,会一直忽略内容,直到遇到第一个 */ 才结束。
  • 采用就近配对原则/* 与离它最近的 */ 配对。

对比/示例/注意事项

/*
* 这是一个多行注释
* 可以跨越很多行
* 通常用于详细说明某段逻辑
*/
public class HelloWorld {
   public static void main(String[] args) {
       System.out.println("HelloWorld");
  }
}

⚠️ 注意事项(本视频重点强调): 多行注释不能嵌套。例如:

/* 外层注释开始
/* 试图内层嵌套 */
这里已经不在注释里了 */

第一个 /* 会与第一个 */ 配对,导致后面的 */ 成为”孤立”的普通代码,从而引发编译错误。


📌 四、文档注释(Documentation Comment / Javadoc)

主题内容

文档注释是一种特殊的多行注释,专门用于生成 API 文档,是 Java 官方推荐的规范注释方式。

核心概念

  • 语法:/** 注释内容 */
  • 作用:配合 javadoc 工具,从源码中自动提取并生成HTML 格式的 API 文档

核心特性/工作原理

  • /** 开头(比多行注释多一个 *),以 */ 结尾。
  • 通常配合文档标签使用,如 @author(作者)、@param(参数说明)、@return(返回值说明)等。
  • 与多行注释一样,不能嵌套

对比/示例/注意事项

/**
* HelloWorld 示例类
* @author 黑马程序员
* @version 1.0
*/
public class HelloWorld {
   /**
    * 程序入口方法
    * @param args 命令行参数
    */
   public static void main(String[] args) {
       System.out.println("HelloWorld");
  }
}

📌 五、注释注意事项与常见报错(含编码问题)

主题内容

本部分汇总了实战踩坑点**,是初学者最容易出错的地方。

核心概念

  1. 注释不参与编译和运行——注释掉 System.out.println() 后,控制台不会输出内容。
  2. 标点符号必须为英文状态——中文逗号、中文分号会导致报错(”把那个逗号删了就可以了”)。
  3. 中文注释乱码——本质是文件编码编译器读取编码不一致。

核心特性/工作原理(编码问题的原理)

  • Windows 记事本默认保存为 ANSI(即 GBK) 编码;而很多编辑器(如 Notepad++、VS Code、IDEA)默认使用 UTF-8
  • javac 默认按操作系统平台默认编码读取 .java 文件(中文 Windows 为 GBK)。
  • 当文件为 UTF-8、而 javac 按 GBK 读取时,中文字符会被错误解析,出现乱码或”不可映射字符”报错。

对比/示例/注意事项

三种主流解决方案(弹幕中反复出现):

方案操作适用场景
修改文件编码记事本”另存为”选择 ANSI 或 UTF-8用记事本直接编写时
编译时指定编码javac -encoding UTF-8 HelloWorld.java文件为 UTF-8 但平台默认 GBK
编译时指定 GBKjavac -encoding GBK HelloWorld.java文件为 ANSI/GBK 编码

关键命令示例:

# 文件保存为 UTF-8 编码时,强制按 UTF-8 编译
javac -encoding UTF-8 HelloWorld.java

# 文件保存为 GBK/ANSI 编码时,按 GBK 编译
javac -encoding GBK HelloWorld.java

# 编译成功后运行
java HelloWorld

快捷键备忘

工具单行注释多行/块注释
IntelliJ IDEACtrl + /Ctrl + Shift + /
VS CodeCtrl + /Shift + Alt + A

⚠️ 注意事项:

  • 修改编码后务必保存文件再编译(”调完编码以后记得保存再运行”)。
  • 若控制台运行 javac 提示”不是内部或外部命令”,是 JDK 环境变量(PATH)未配置好的问题,需回到前面章节检查 JAVA_HOMEPath 配置。

总结

核心要点速记

概念一句话总结
注释本质给人看的解释性文字,编译器直接忽略
单行注释// 到行尾结束,最常用
多行注释/* */ 可跨多行,但不能嵌套
文档注释/** */ 可被 javadoc 提取生成 API 文档
就近配对/* 与最近的一个 */ 配对,嵌套会报错
编译规则注释不参与编译、不参与运行、不进 .class
标点规范注释中的标点必须是英文半角状态
中文乱码文件编码与 javac 读取编码不一致导致,用 -encoding 解决
快捷键IDEA 中 Ctrl+/ 单行、Ctrl+Shift+/ 多行注释
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇