[Java · 初窥门径] Java 注释符

news2025/4/20 5:11:25

🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java · 学习手册

0x01:Java 注释符简介

在编写程序时,为了使代码易于理解,通常会为代码加一些注释。Java 注释就是用通俗易懂的语言对代码进行描述或解释,以达到快速、准确地理解代码的目的。

Java 注释只在 Java 源文件中有效,在编译程序时编译器会忽略这些注释,不会将其编译到字节码文件中。Java 中的注释有以下 3 种类型:

  • 单行注释: 单行注释符使用 // 开头,// 后面的单行内容均为注释。

  • 多行注释: 多行注释以 /* 开头以 */ 结尾,在 /**/ 之间的内容均为注释。我们也可以使用多行注释为行内进行注释,但是在使用时要注意,多行注释不能嵌套使用。

  • 文档注释: 文档注释以 /** 开头以 */ 结尾,注释中包含一些说明性文字以及一些 JavaDoc 标签,这些标签可以生成对应的 API。

0x02:Java 单行注释

单行注释符使用 // 开头,// 后面的单行内容均为注释。

单行注释仅对所在行有效,当编译器遇到单行注释时,会忽略该行之后的内容。单行注释主要用于解释某段代码的作用,阐明一些逻辑或算法,此外,它也常用于临时屏蔽某段代码以检验其它部分的功能。

单行注释的示例如下:

public class HelloWorld {
    public static void main(String[] args) {    // main 是 Java 程序的入口
        System.out.println("hello world");      // 打印 hello world
    }
}

0x03:Java 多行注释

多行注释以 /* 开头以 */ 结尾,在 /**/ 之间的内容均为注释内容。 我们可以使用多行注释为单行内容进行注释,但是使用时需要注意,多行注释不能嵌套使用。

多行注释一般用于对多行代码进行详细的说明,或者临时屏蔽某个代码块的执行,示例如下:

public class HelloWorld {
    /*
    这是一个多行注释
    我能跨行注释哦~~~~~~~
    */
    public static void main(String[] args) {    
        System.out.println("hello world");      
    }
}

0x04:Java 文档注释

文档注释以 /** 开头以 */ 结尾,注释符中包含一些说明性的文字以及一些 JavaDoc 标签,可以生成对应的 API。

文档注释是一种特殊的多行注释,由一对 /***/ 标识,用于生成 Java API 文档。它通常出现在类、方法、属性等元素的定义前,为这些元素提供详细的描述、参数说明、返回值说明等信息。通过 javadoc 工具,我摸嗯可以从带有文档注释的代码中自动生成文档。

常用的 JavaDoc 标签如下:

标签描述
@author标识作者
@deprecated标识过期的类或成员
@exception标识抛出的异常
@param标识方法的参数
@return标识方法的返回值
@see标识指定参数的内容
@serial标识反序列化属性
@version标识版本
@throws标识引入一个特定的变化

文档注释一般放在类的前面或者方法的前面,看下面这个示例:

/**
 * 文档注释,一般放在类、方法、属性前面
 * @author Blue17
 * @version 1.0
 */
public class HelloWorld {
    /**
     * 这是一个 main 方法,这是程序的入口
     * @param args 方法的参数
     */
    public static void main(String[] args) {
        System.out.println("hello world"); 
    }
​
    /**
     * 这是一个普通的 eat 方法,功能: 演示 xx 岁的 xxx 要干饭
     * @param name 干饭人的姓名
     * @param age 干饭年龄
     */
    public void eat(String name, int age) {
        System.out.println("关注注释,不用关注这个方法的具体咋写,后面会讲解");
    }
}

0x05:Java 注释提取

在上面一小节中我们编写了一个文档注释的案例,那么本小节,我们尝试使用 javadoc 从中提取出注释内容。

0x0501:修改文档编码格式

如下图,我们当前文档的编码是 UTF-8 我们要将其换成 GBK(不然生成 API 文档的时候会报错 - MayBe?):

点击 “另存为”,选择 “ANSI” 编码:

0x0502:使用 javadoc 生成 API 文档

在 Java 代码所在目录打开 CMD 窗口(之前已经教过了哈),然后运行下面这个命令:

javadoc -d MyAPI -author -version HelloWorld.java
​
# -d <存放目录> => 指定存放文档的目录名
# -author、-version => 生成的 API 文档中要展示这两个关键字

0x0503:查看生成的 API 文档

进入 javadoc 创建的 MyAPI 文件夹中,找到 index.html 文件,双击打开:

如下,这个就是 javadoc 生成的 API 文档(界面还是非常 Nice 的,因为程序是我们自己写的,一眼定真):

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2338478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker环境下SpringBoot程序内存溢出(OOM)问题深度解析与实战调优

文章目录 一、问题背景与现象还原**1. 业务背景****2. 故障特征****3. 核心痛点****4. 解决目标** 二、核心矛盾点分析**1. JVM 与容器内存协同失效****2. 非堆内存泄漏****3. 容器内存分配策略缺陷** 三、系统性解决方案**1. Docker 容器配置**2. JVM参数优化&#xff08;容器…

【计算机网络】网络基础(协议,网络传输流程、Mac/IP地址 、端口号)

目录 1.协议简述2.网络分层结构2.1 软件分层2.2 网络分层为什么&#xff1f; 是什么&#xff1f;OSI七层模型TCP/IP五层&#xff08;或四层&#xff09;结构 3. 网络与操作系统之间的关系4.从语言角度理解协议5.网络如何传输局域网通信&#xff08;同一网段&#xff09; 不同网…

pgsql中使用jsonb的mybatis-plus和jps的配置

在pgsql中使用jsonb类型的数据时&#xff0c;实体对象要对其进行一些相关的配置&#xff0c;而mybatis和jpa中使用各不相同。 在项目中经常会结合 MyBatis-Plus 和 JPA 进行开发&#xff0c;MyBatis_plus对于操作数据更灵活&#xff0c;jpa可以自动建表&#xff0c;两者各取其…

使用MetaGPT 创建智能体(2)多智能体

先给上个文章使用MetaGPT 创建智能体&#xff08;1&#xff09;入门打个补丁&#xff1a; 补丁1&#xff1a; MeteGTP中Role和Action的关联和区别&#xff1f;这是这两天再使用MetaGPT时候心中的疑问&#xff0c;这里做个记录 Role&#xff08;角色&#xff09;和 Action&…

C# 使用.NET内置的 IObservable<T> 和 IObserver<T>-观察者模式

核心概念 IObservable<T> 表示 可观察的数据源&#xff08;如事件流、实时数据&#xff09;。 关键方法&#xff1a;Subscribe(IObserver<T> observer)&#xff0c;用于注册观察者。 IObserver<T> 表示 数据的接收者&#xff0c;响应数据变化。 三个核心…

Redis——网络模型之IO讲解

目录 前言 1.用户空间和内核空间 1.2用户空间和内核空间的切换 1.3切换过程 2.阻塞IO 3.非阻塞IO 4.IO多路复用 4.1.IO多路复用过程 4.2.IO多路复用监听方式 4.3.IO多路复用-select 4.4.IO多路复用-poll 4.5.IO多路复用-epoll 4.6.select poll epoll总结 4.7.IO多…

vue3 传参 传入变量名

背景&#xff1a; 需求是&#xff1a;在vue框架中&#xff0c;接口传参我们需要穿“变量名”&#xff0c;而不是字符串 通俗点说法是&#xff1a;在网络接口请求的时候&#xff0c;要传属性名 效果展示&#xff1a; vue2核心代码&#xff1a; this[_keyParam] vue3核心代码&…

旅游特种兵迪士尼大作战:DeepSeek高精准路径优化

DeepSeek大模型高性能核心技术与多模态融合开发 - 商品搜索 - 京东 随着假期的脚步日渐临近&#xff0c;环球影城等备受瞩目的主题游乐场&#xff0c;已然成为大人与孩子们心中不可或缺的节日狂欢圣地。然而&#xff0c;随之而来的庞大客流&#xff0c;却总让无数游客在欢乐的…

【MySQL】第一弹——MySQL数据库结构与操作

目录 一. 数据库介绍1.1 什么是数据库1.2 为什么要使用数据库1.3 主流数据库1.3.1 关系型数据库1.3.2 非关系型数据库 二. MySQL 的结构2.1 MySQL服务器和客户端2.2 MySQL服务器是如何组织数据的 三. 数据库的操作3.1 创建数据库语法格式示例 3.2 查看数据库语法格式示例 3.3 使…

Spring_MVC 快速入门指南

Spring_MVC 快速入门指南 一、Spring_MVC 简介 1. 什么是 Spring_MVC&#xff1f; Spring_MVC 是 Spring 框架的一个模块&#xff0c;用于构建 Web 应用程序。它基于 MVC&#xff08;Model-View-Controller&#xff09;设计模式&#xff0c;将应用程序分为模型&#xff08;M…

L38.【LeetCode题解】四数之和(双指针思想) 从汇编角度分析报错原因

目录 1.题目 2.分析 去重的代码 错误代码 3.完整代码 提交结果 1.题目 四数之和 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元…

字符串系列一>最长回文子串

目录 题目&#xff1a;解析&#xff1a;代码&#xff1a; 题目&#xff1a; 链接: link 解析&#xff1a; 代码&#xff1a; class Solution {public String longestPalindrome(String s) {char[] ss s.toCharArray();int n ss.length;int begin 0;//返回结果的起始字符串…

双击热备方案及不同方案的需求、方案对比

双击热备方案概述 一般实现双机热备的方案有三种,分别是共享存储双机热备方案、镜像双机热备方案、双机双柜双机热备方案,这三种方案对硬件要求不同,大家可以根据自身的业务应用特性来选择具体的双机热备方案以及对应的ServHA双机热备软件产品。 1、镜像双机热备 1.1镜像…

VSCODE插值表达式失效问题

GET https://cdn.jsdelivr.net/npm/vue2.6.14/dist/vue.js net::ERR_CONNECTION_-CSDN博客 更换正确的vue域名 GET https://cdn.jsdelivr.net/npm/vue2.6.14/dist/vue.js net::ERR_CONNECTION_ <script src"https://unpkg.com/vue2.6.14/dist/vue.js"></sc…

【失败】Gnome将默认终端设置为 Kitty

起因 一会儿gnome-terminal一会儿kitty终端&#xff0c;实在是受不了&#xff0c;决定取缔默认的gnome-terminal。 过程 在 Ubuntu 或 Debian 系统上&#xff1a; 确保 Kitty 已经安装。如果未安装&#xff0c;可以在终端中运行命令sudo apt install kitty -y进行安装。 使用系…

蓝桥杯:连连看

本题大意要我们在一个给定的nxm的矩形数组中找出符合条件的格子 条件如下&#xff1a; 1.数值相同 2.两个横坐标和纵坐标的差值相等&#xff08;由此可得是一个对角线上的格子&#xff09; 那么根据以上条件我们可以用HashMap来解决这个问题&#xff0c;统计对角线上数值相同…

Ext系列⽂件系统

Ext系列⽂件系统 1. 理解硬件1.1 磁盘的物理结构1.2 磁盘的存储结构1.3 磁盘的逻辑结构理解过程实际过程 1.4 CHS&&LBA地址 2. 引入文件系统块分区innode 3. Ext2文件系统3.1 宏观认识3.2 block group3.3 块组内部3.3.1 GDT&#xff08;Group Descriptor Table&#xf…

MTK-Android12 13 屏蔽掉Viewing full screen

去掉ROOM 开机第一次提示全屏弹框 文章目录 需求参考资料修改文件实现方案 解决思路grep 源码查找信息grep 查找 grep -rn "Viewing full screen" 找string 字段grep 查找 grep -rn immersive_cling_title 布局grep 查找 grep -rn layout.immersive_mode_cling 对应的…

GitHub创建远程仓库

使用GitHub创建远程仓库&#xff1a;从零开始实现代码托管与协作 前言 在当今软件开发领域&#xff0c;版本控制系统已成为开发者必备的核心工具。作为分布式版本控制系统的代表&#xff0c;Git凭借其强大的分支管理和高效的协作能力&#xff0c;已成为行业标准。而GitHub作为…

【AI部署】腾讯云GPU -—SadTalker的AI数字人访问web服务—未来之窗超算中心

访问部署在Cloud Studio上的web服务 当你把该项目部署在本地时&#xff0c;访问该服务的请求地址为http://localhost:8080/hello&#xff1b;当你把该项目部署在Cloud Studio工作台启动时&#xff0c;要想访问到该服务&#xff0c;需要先在工作台右侧打开访问链接面板&#xff…