【面试题精讲】注释有哪几种形式

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

首发博客地址[1]

面试题手册[2]

系列文章地址[3]


1. 什么是 Java 注释?

Java 注释是一种用于在代码中添加说明和解释的特殊文本。它们不会被编译器处理,因此对程序的运行没有任何影响。Java 注释主要有三种类型:单行注释、多行注释和文档注释。

  • 单行注释以双斜线(//)开头,可以在一行中添加注释。
  • 多行注释以斜线星号(/ )开始,以星号斜线(/)结束,可以跨越多行。
  • 文档注释以斜线星号两个连续的星号(/* )开始,以星号斜线(/)结束,可以包含多行描述,并且可以通过工具生成 API 文档。

2. 为什么需要 Java 注释?

Java 注释是一种良好的编程实践,有以下几个重要原因:

  • 提供代码的可读性:注释可以帮助其他人理解你的代码,尤其是当代码变得复杂或难以理解时。
  • 方便代码维护:注释可以记录代码的目的、逻辑和设计思路,使得后续的修改和维护更加容易。
  • 自动生成文档:文档注释可以通过工具自动生成 API 文档,方便其他开发人员使用你的代码。
  • 团队协作:注释可以促进团队成员之间的沟通和合作,减少代码理解上的困惑。

3. Java 注释的使用方法

单行注释

单行注释用于在一行中添加简短的注释。它们可以出现在任何地方,并且不会影响程序的执行。

int x = 10// 定义一个整数变量x并赋值为10

多行注释

多行注释用于跨越多行的注释内容。它们常用于对较长的代码块进行解释或暂时禁用一段代码。

/*
这是一个多行注释示例。
它可以包含多行描述,
以及对代码的详细解释。
*/

int y = 20;

文档注释

文档注释用于生成 API 文档,并提供给其他开发人员使用你的代码。它们应该放在类、方法和字段的前面,并使用特定的标记来描述各个部分。

/**
 * 这是一个文档注释示例。
 * 它可以包含多行描述,
 * 并使用标记说明类、方法和字段的作用。
 */

public class MyClass {
    /**
     * 这是一个方法的文档注释。
     * @param x 参数x的说明
     * @return 返回值的说明
     */

    public int myMethod(int x) {
        return x + 1;
    }
}

4. Java 注释的优点

  • 提高代码可读性:注释可以帮助其他人理解你的代码,尤其是当代码变得复杂或难以理解时。
  • 方便代码维护:注释可以记录代码的目的、逻辑和设计思路,使得后续的修改和维护更加容易。
  • 自动生成文档:文档注释可以通过工具自动生成 API 文档,方便其他开发人员使用你的代码。

5. Java 注释的缺点

  • 可能过度注释:如果注释过多或不准确,会导致代码冗余和混乱。
  • 注释可能过时:如果代码发生了改变而注释没有及时更新,就会产生误导。

6. Java 注释的使用注意事项

  • 注释应该清晰明了:注释应该简洁明了,用简单的语言描述代码的意图和功能。
  • 避免无用的注释:删除不再需要的注释,避免给阅读者造成困惑。
  • 及时更新注释:当代码发生变化时,要记得更新相应的注释,保持注释与代码的一致性。

7. 总结

Java 注释是一种用于在代码中添加说明和解释的特殊文本。它们提供了代码的可读性、方便代码维护、自动生成文档等好处。Java 注释有三种类型:单行注释、多行注释和文档注释。使用时需要注意清晰明了、避免过度注释和及时更新的原则。

参考资料

[1]

首发博客地址: https://blog.zysicyj.top/

[2]

面试题手册: https://store.amazingmemo.com/chapterDetail/1685324709017001

[3]

系列文章地址: https://blog.zysicyj.top/categories/技术文章/后端技术/系列文章/面试题精讲/

本文由 mdnice 多平台发布

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

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

相关文章

Doctest:让你的测试更简单高效

简介:Doctest 是 Python 标准库的一部分,它允许开发者通过在文档字符串(docstrings)中编写示例来进行测试。这不仅可以在确保代码正确性的同时编写文档,还可以让读者更容易理解代码的用法和期望的输出。 历史攻略&…

【源码】hamcrest 源码阅读及空对象模式、模板方法模式的应用

文章目录 前言1. 类图概览2. 源码阅读2.1 抽象类 BaseMatcher2.1 接口 Description提炼模式:空对象模式 2. 接口 Description 与 SelfDescribing 配合使用提炼模式 模板方法 后记 前言 hamcrest ,一个被多个测试框架依赖的包。听说 hamcrest 的源码质量…

RabbitMQ学习笔记(消息发布确认,死信队列,集群,交换机,持久化,生产者、消费者)

MQ(message queue):本质上是个队列,遵循FIFO原则,队列中存放的是message,是一种跨进程的通信机制,用于上下游传递消息。MQ提供“逻辑解耦物理解耦”的消息通信服务。使用了MQ之后消息发送上游只…

第45节——页面中修改redux里的数据

一、什么是action 在 Redux 中,Action 是一个简单的 JavaScript 对象,用于描述对应应用中的某个事件(例如用户操作)所发生的变化。它包含了一个 type 属性,用于表示事件的类型,以及其他一些可选的数据。 …

利用Qt实现可视化科学计算器

📞个人信息 学号:102101433 姓名:林堂钦 💡 作业基本信息 【课程】福州大学2021级软件工程Ahttps://bbs.csdn.net/forums/ssynkqtd-05作业要求链接https://bbs.csdn.net/topics/617294583作业目标 实现一个简易计算器&…

最短路径专题2 最短距离-多终点(堆优化版)

题目:样例: 输入 6 6 0 0 1 2 0 2 5 0 3 1 2 3 2 1 2 1 4 5 1 输出 0 2 3 1 -1 -1 思路: 根据题意,数据范围也小,也可以用朴素版的Dijsktra来做,朴素版的Dijsktra我做过了一遍了,可以看以一下我…

MySQL - mysql服务基本操作以及基本SQL语句与函数

文章目录 操作mysql客户端与 mysql 服务之间的小九九了解 mysql 基本 SQL 语句语法书写规范SQL分类DDL库表查增 mysql数据类型数值类型字符类型日期类型 示例修改(表操作) DML添加数据删除数据修改数据 DQL查询多个字段条件查询聚合函数分组查询排序查询…

【数据科学】Scikit-learn[Scikit-learn、加载数据、训练集与测试集数据、创建模型、模型拟合、拟合数据与模型、评估模型性能、模型调整]

这里写目录标题 一、Scikit-learn二、加载数据三、训练集与测试集数据四、创建模型4.1 有监督学习评估器4.1.1 线性回归4.1.2 支持向量机(SVM)4.1.3 朴素贝叶斯4.1.4 KNN 4.2 无监督学习评估器4.2.1 主成分分析(PCA)4.2.2 K Means 五、模型拟合5.1 有监督学习5.2 无监督学习 六…

React18入门(第一篇)——JSX、TSX语法详解

文章目录 一、JSX 语法简介二、和 HTML 标签的几点不同三、JSX 属性四、JSX 事件4.1 简单点击事件4.2 类型限制4.3 带参数,箭头函数 五、插入 JS 变量六、JSX 中使用条件判断七、循环 一、JSX 语法简介 JSX - 是 JS 的扩展,写在 JS 代码里面&#xff0c…

STM32 DMA从存储器发送数据到串口

1.任务描述 (1)ds18b20测量环境温度存储到存储器(数组)中。 (2)开启DMA将数组中的内容,通过DMA发送到串口 存在问题,ds18b20读到的数据是正常的,但是串口只是发送其低…

python (*)和(**)的用法

在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入或变量的拆解,本文将详细介绍"星号参数"的用法。 # 什么是星号变量(*&am…

ORACLE insert 性能比较

ORACLE insert 性能比较 在Oracle数据库中,不是提交越频繁越好。恰恰相反,批量提交可以得到更好的性能。这篇文章给大家简单展示一下在Oracle数据库中逐行提交于批量提交两者之间的性能差别。最后再给出一种可以极大改变性能的方法。 1.创建表t_ref&…

闲话Python编程-函数

在Python实际编程过程中,组织代码结构的两个重要手段是:函数和类。有了函数,我们才能把一个个内聚的流程封装起来;有了类,我们才能把一个个现实对象抽象表达出来,即使你说不用自己写类,但是你用…

Redis Cluster Gossip Protocol: 目录

术语说明 server:当前的节点 cluster:每个节点的内存中都有一个集群信息结构,里面包含了集群中各个节点的状态信息(包括server自己) myself:当前节点在cluster中的实体 node:cluster节点字典中…

C/C++ 数据结构 - 队列

1.队列 https://blog.csdn.net/LiuBo_01/article/details/80412290 1 #include <stdio.h>2 #include <stdlib.h>3 4 typedef struct Node5 {6 int data;7 struct Node* next;8 }N;9 10 typedef struct11 {12 N* front;13 N* rear;14 }Q;15 16 //…

WSL安装异常:WslRegisterDistribution failed with error: 0xc03a001a

简介&#xff1a;如果文件夹右上角是否都有两个相对的蓝色箭头&#xff0c;在进行安装wsl时&#xff0c;设置就会抛出 Installing WslRegisterDistribution failed with error: 0xc03a001a的异常 历史攻略&#xff1a; 卸载WSL WSL&#xff1a;运行Linux文件 WSL&#xff1…

Java下正面解除警告Unchecked cast: ‘java.lang.Object‘ to ‘java.util.ArrayList‘

就是我在反序列化时&#xff0c;遇到这样一个警告&#xff1a; Unchecked cast: java.lang.Object to java.util.ArrayList<com.work1.Student>然后我去网上查&#xff0c;有些人说用SuppressWarnings(“unchecked”)去忽略警告&#xff0c;但是我觉得作为一名合格的程序…

postgresql-自增字段

postgresql-自增字段 标识列IdentitySerial类型Sequence序列 标识列Identity -- 测试表 create table t_user( -- 标识列自增字段user_id integer generated always as identity primary key,user_name varchar(50) not null unique );-- 自动生成序列 CREATE SEQUENCE public…

【重拾C语言】三、分支程序设计(双分支和单分支程序设计、逻辑判断、多分支程序设计、枚举类型表示;典型例题:判断闰年和求一元二次方程根)

目录 前言 三、分支程序设计 3.1 判断成绩是否及格——双分支程序设计 3.2 成绩加上获奖信息—单分支程序设计 3.3 逻辑判断——布尔类型 3.4 获奖分等级——多分支程序设计 3.5 表示汽车种类——枚举类型 3.6 例题 3.6.1 例题——判断某个年份是否闰年 3.6.2 例题—…

【PyCharm Community Edition】:excel操作

Excel操作 相关模块openpyxlxlrdshutil 实例 相关模块 openpyxl 可以对.xlsx,.xlsm,.xltx,.xltm文件格式操作 打开文件&#xff1a;wb_xlsx openpyxl.load_workbook(“文件名”)新建文件&#xff1a;wb_xlsx openpyxl.Workbook()新建sheet表&#xff1a;wb_xlsx_sheet wb…