编写程序时,总需要为程序添加一些注释,用以说明某段代码的作用,或者说明某个类的用途、某个方法的功能,以及该方法的参数和返回值的数据类型及意义等。

一、为什么要添加注释?

  (1)便于自己理解:有些人可能对此不认同,觉得我自己写的代码难道我自己还能不理解吗,殊不知这是一种错误的想法。一个程序员终其一生要编写多少代码笔者不知,但想必不在少数,再加上人本身的健忘,可能当时能够理解的代码,过后再呈现于眼前真的会不认识。添加注释,便于过后理解,也方便将来进行代码的重构。

  (2)便于他人理解:我们编写的代码,不仅自己会读,他人也会读,自己写的代码过后拿出来,自己都尚且不理解,更何况是别人。这样的事情在实际工作中是经常遇到的。当你进入一家新的公司,首先便会阅读之前公司一些项目的代码,如果程序的编写人员不添加注释,看起来真的是两眼一抹黑。而且,在一个大型项目中,少不了要分工协作,相互沟通,你得保证你写的代码能够被别人理解。

  程序注释是源代码的一个重要部分,对于一份规范的程序源代码而言,注释应该占到程序的1/3以上。

二、注释的类型

  Java语言的注释一共有三种类型:

    单行注释;

    多行注释;

    文档注释。

  (1)单行注释:就是在程序中注释一行代码。在Java语言中,将双斜线(//)放在要注释的代码之前就可以了。

  (2)多行注释:指一次性的将程序中的多行代码注释掉。使用“/*”和“*/”将程序中需要注释的内容包含起来。其中,“/*”表示注释开始,“*/”表示注释结束。

  下面以一段代码展示单行注释与多行注释的用法:

 public class HelloWorld {

     /*
* 这是多行注释
* main方法是程序的入口
*/
public static void main(String[] args) { // 这是单行注释
// 下面这段代码表示打印 Hello,World!
System.out.println("Hello,World!");
// System.out.println("这段代码已被注释,将不会被编译,执行。");
} }

  另外,添加注释也是调试程序的一个重要方法。如果觉得某段代码可能有问题,可以先把这段代码注释起来,让编译器忽略这段代码,再次编译、运行,如果程序可以正常执行,则可以说明错误就是由这段代码引起的,这样就缩小了错误所在的范围,有利于排错;如果依然出现相同的错误,则可以说明错误不是由这段代码引起的,同样也缩小了错误所在的范围。

  (3)文档注释:如果编写java源代码时添加了合适的文档注释,然后通过JDK提供的javadoc工具可以直接将源代码里的文档注释提取成一套系统的API文档。

  Java提供了大量的基础类,因此Oracle也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。

  学会使用及阅读JavaAPI文档也是学习Java的重要方式。

  可以去官网下载Java8的API文档用于学习。

    https://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html

  下载好后解压缩,进入到目录的docs/api下,找到index.html,双击即可打开。如下图所示:

    有想了解JavaAPI用法的可以去网上搜索,看不懂英文的可以在网上找中文版的,这里就不详述了。

  由于文档注释是用于生成API文档的,而API文档主要用于说明类、方法、成员变量的功能。因此,javadoc工具只处理文档源文件在类、接口、方法、成员变量、构造器和内部类之前的注释,忽略其他地方的文档注释。而且javadoc工具默认只处理以public或protected修饰的类、接口、方法成员变量、构造器和内部类之前的注释。

  文档注释以斜线后紧跟两个星号(/**)开始,以星号后紧跟一个斜线(*/)结束,中间部分全是文档注释,会被提取到API文档中。

  下面以一段代码示例:

 /**
* 这是一个测试生成API文档的类
* @author Administrator
*
*/
public class JavadocTest { /**
* 这是一个成员变量
*/
protected String name; /**
* 这是main方法,是程序的入口
* @param args
*/
public static void main(String[] args) { System.out.println("Hello,World!");
} }

  在Java源文件的所在的目录行输入cmd打开命令行窗口,输入javadoc JavadocTest.java,会在当前目录生成许多以.html为后缀的文件,找到index.html双击就可以显示生成的API文档。当然你也可以指定生成目录,可以在命令行输入javadoc指定选项。

  注释的学习到此结束。

Java学习第三天之注释的更多相关文章

  1. 201671010140. 2016-2017-2 《Java程序设计》java学习第三周

    java学习第三周       不知不觉,学习java已经是第三周了,不同于初见时的无措,慌张,在接触一段时日后,渐渐熟悉了一些,了解到了它的便利之处,也体会到了它的一些难点,本周主攻第四章,< ...

  2. java学习笔记(2)注释、public lcass、class、标识符、字面值、变量

    java学习笔记(1)中说过了java的一些基础知识,发展史,特点,编译和运行过程,配置环境变量等,接下来开始介绍java的语法等只是点  关于java源程序中的注释: *什么是注释?注释的作用是什么 ...

  3. 从.Net到Java学习第三篇——spring boot+mybatis+mysql

    从.Net到Java学习第一篇——开篇 环境:mysql5.7 新建mysql数据库demo,然后执行如下sql脚本进行数据表创建和数据初始化: -- ------------------------ ...

  4. java学习(三)

    学号 20189214 <Java程序设计>第三周学习总结 教材学习内容总结 核心类 java.lang.Object 所有的类都直接派生自这个类. java.lang.String St ...

  5. JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示

    随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...

  6. java学习第三天2020/7/8

    一. 学习了数组的使用 一维数组的使用 (1)类型[ ] 名称 名称=new 类型[]{元素1,元素2......} (2)类型[] 名称={元素1,元素2......} (3)类型[] 名称=new ...

  7. java学习阶段三:运算符和结构学习

    import java.util.Scanner;/* * JAVA中运算符的学习: * 算术运算符:+.-.*./ 和 %,两个整数相除,结果还是整数. * 赋值运算符:=.+=.-=.*=./=. ...

  8. Java学习笔记三十一:Java 包(package)

    Java 包(package) 一:包的作用: 如果我们在使用eclipse等工具创建Java工程的时候,经常会创建包,那么,这个包是什么呢. 为了更好地组织类,Java 提供了包机制,用于区别类名的 ...

  9. Java学习第三周摘要

    20145307<Java程序设计>第三周学习总结 教材学习内容总结 认识对象 类类型 Java可区分为基本类型和类类型两大类型系统,其中类类型也称为参考类型.sun就是一个类类型变量,类 ...

随机推荐

  1. Kafka——副本(Replica)机制

    副本定义 Kafka 是有主题概念的,而每个主题又进一步划分成若干个分区.副本的概念实际上是在分区层级下定义的,每个分区配置有若干个副本. 所谓副本(Replica),本质就是一个只能追加写消息的提交 ...

  2. 数据链路层学习之LLDP

    数据链路层学习之LLDP 2013年09月02日 20:38:36 goodluckwhh 阅读数 42323   一.LLDP协议概述 随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复 ...

  3. AWS 核心服务概述(二)

    目录 AWS网络服务 VPC Direct Connect Route53 AWS 计算服务 EC2 EMR(Elastic MapReduce) AWS Lambda Auto Scaling El ...

  4. Python-Web-数据库-mongodb

    理念: ----无创建数据库方法,使用即创建 ----里面无数据,即数据库不存在 ----数据库有表,表里有一条数据,则数据库存在 ----表数据为JSON格式[{‘name’:’lisi’,’age ...

  5. CentOS 7 命令

    常用命令 文件与目录操作 命令 解析 cd /home 进入 ‘/home’ 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd - 返回上次所在目录 cp file1 file ...

  6. C#使用Castle实现AOP面向切面编程

    Castle.Core 本质是创建继承原来类的代理类,重写虚方法实现AOP功能.个人觉得比Autofac用着爽 使用方式比较简单,先新建一个控制台项目,然后在Nuget上搜索Castle.Core并安 ...

  7. JDK+Jmeter 环境搭建

    1.下载JDK安装包,默认安装next即可 2. 3. 4. 5. 6.变量名:JAVA_HOME 变量的值为你安装JDK的目录 我这里是放在C盘 7. 8.添加新的变量值: %JAVA_HOME%\ ...

  8. python之文件读写操作笔记

    对不同类的文件操作,需要调用相关的库文件,一般情况下,可以选择建立:写文件函数和读文件函数.在写文件与读文件函数中 我们可以采用:with  open('文件名','w', encoding='utf ...

  9. 串口控制RGB灯程序

    实验目的: 通过上位机给串口发送数据(字符); STM32收到数据进入中断程序原封不动返回上位机,并且根据收到的信息产出相应的进行操作.(1- led_on  2 – ledoff...); 源码   ...

  10. 使用Duilib开发Windows软件(2)——控件的基本介绍

    XML 先学习xml https://www.w3cschool.cn/xml/xml-xml-tutorialhc4o1t5m.html 控件 上图是我们下载的NIM_Duilib_Framewor ...