任何一种计算机语言都离不开标识符和关键字,因此下面将详细介绍 Java 的标识符、关键字和保留字。
标识符
1.标识符含义
标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。
2.Java标识符定义
1、Java 中包名、类名、方法名、参数名、变量名等其他用户定义项所定义的名称,这些符号被称为标识符。
2、标识符可以有一个或多个字符。
3、标识符由数字(09)和字母(AZ 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成。
4、各符号之间没有空格。
5、标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线。(既标识符不能以数字开头,不能是java中的关键字,而且不能赋予标识符任何标准的方法名。)
6、Java 区分大小写,因此 myvar 和 MyVar 是两个不同的标识符。
3.标识符分为两类
分别为关键字和用户自定义标识符。
- 关键字是有特殊含义的标识符,如 true、false 表示逻辑的真假。
- 用户自定义标识符是由用户按标识符构成规则生成的非保留字的标识符,如 abc 就是一个标识符。
提示:使用标识符时一定要注意,或者使用关键字,或者使用自定义的非关键字标识符。此外,标识符可以包含关键字,但不能与关键字重名。
例如以下合法与不合法标识符。
合法标识符:date、KaTeX parse error: Expected group after '_' at position 13: 2011、_date、D_̲date、Username、user_name 等。
不合法的标识符:123.com、2com、for、if 、else、class、Hell Data、Source等。
标识符用来命名常量、变量、类和类的对象等。因此,一个良好的编程习惯要求命名标识符时,应赋予它一个有意义或有用途的名字。
java关键字
- 下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
- 所有的关键字都是小写。
- 程序中的标识符不能以关键字命名。
- const和goto是保留字关键字,虽然在java中还没有任何意义,但在程序中不能用来作为自定义的标识符。
- true、false和null不属于关键字,它们是一个单独标识类型,不能直接使用。
类别 | 关键字 | 说明 |
---|---|---|
访问控制 | private | 私有的 |
访问控制 | protected | 受保护的 |
访问控制 | public | 公共的 |
类、方法和变量修饰符 | abstract | 声明抽象 |
类、方法和变量修饰符 | class | 类 |
类、方法和变量修饰符 | extends | 扩充,继承 |
类、方法和变量修饰符 | final | 最终值,不可改变的 |
类、方法和变量修饰符 | implements | 实现(接口) |
类、方法和变量修饰符 | interface | 接口 |
类、方法和变量修饰符 | native | 本地,原生方法(非 Java 实现) |
类、方法和变量修饰符 | new 新,创建 | |
类、方法和变量修饰符 | static | 静态 |
类、方法和变量修饰符 | strictfp | 严格,精准 |
类、方法和变量修饰符 | synchronized | 线程,同步 |
类、方法和变量修饰符 | transient | 短暂 |
类、方法和变量修饰符 | volatile | 易失 |
程序控制语句 | break | 跳出循环 |
程序控制语句 | case | 定义一个值以供 switch 选择 |
程序控制语句 | continue | 继续 |
程序控制语句 | default | 默认 |
程序控制语句 | do | 运行 |
程序控制语句 | else | 否则 |
程序控制语句 | for | 循环 |
程序控制语句 | if | 如果 |
程序控制语句 | instanceof | 实例 |
程序控制语句 | return | 返回 |
程序控制语句 | switch | 根据值选择执行 |
程序控制语句 | while | 循环 |
错误处理 | assert | 断言表达式是否为真 |
错误处理 | catch | 捕捉异常 |
错误处理 | finally | 有没有异常都执行 |
错误处理 | throw | 抛出一个异常对象 |
错误处理 | throws | 声明一个异常可能被抛出 |
错误处理 | try | 捕获异常 |
包相关 | import | 引入 |
包相关 | package | 包 |
基本类型 | boolean | 布尔型 |
基本类型 | byte | 字节型 |
基本类型 | char | 字符型 |
基本类型 | double | 双精度浮点 |
基本类型 | float | 单精度浮点 |
基本类型 | int | 整型 |
基本类型 | long | 长整型 |
基本类型 | short | 短整型 |
变量引用 | super | 父类,超类 |
变量引用 | this | 本类 |
变量引用 | void | 无返回值 |
保留关键字 | goto | 保留字,但不能使用 |
保留关键字 | const | 保留字,但不能使用 |
保留关键字 | null | 空 |
代码注释
注释不是编程语句,因此被编译器忽略。
Java 支持以下三种注释方式:
1.单行注释
以双斜杠“//”标识,只能注释一行内容,用在注释信息内容少的地方。打开 Eclipse,在 Java 代码中使用单行注释,如图:
2.多行注释
包含在“/*”和“*/”之间,能注释很多行的内容。为了可读性比较好,一般首行和尾行不写注释信息(这样也比较美观好看),如图
注意:多行注释可以嵌套单行注释,但是不能嵌套多行注释和文档注释。
3.文档注释
包含在“/**”和“*/”之间,也能注释多行内容,一般用在类、方法和变量上面,用来描述其作用。注释后,鼠标放在类和变量上面会自动显示出我们注释的内容,如图
注意:文档注释能嵌套单行注释,不能嵌套多行注释和文档注释,一般首行和尾行也不写注释信息。
文档注释可以通过 Javadoc 命令把文档注释中的内容生成文档,并输出到 HTML 文件中,方便记录程序信息。还可以包含一个或多个 @ 标签,每个 @ 标签都在新的一行开始。
文档注释只放在类、接口、成员变量、方法之前,因为 Javadoc 只处理这些地方的文档注释,而忽略其它地方的文档注释。
Javadoc 是 Sun 公司提供的一种工具,它可以从程序源代码中抽取类、方法、成员等注释,然后形成一个和源代码配套的 API 帮助文档。也就是说,只要在编写程序时以一套特定的标签注释,在程序编写完成后,通过 Javadoc 就形成了程序的 API 帮助文档。
API 帮助文档相当于产品说明书,而说明书只需要介绍那些供用户使用的部分,所以 Javadoc 默认只提取 public、protected 修饰的部分。如果要提取 private 修饰的部分,需要使用 -private。
4.Javadoc标签
Javadoc 工具可以识别文档注释中的一些特殊标签,这些标签一般以@开头,后跟一个指定的名字,有的也以{@开头,以}结束。Javadoc 可以识别的标签如下表所示:
标签 | 描述 | 示例 |
---|---|---|
@author | 标识一个类的作者,一般用于类注释 | @author haohao |
@deprecated | 指名一个过期的类或成员,表明该类或方法不建议使用 | @deprecated description |
{@docRoot} | 指明当前文档根目录的路径 | Directory Path |
@exception | 可能抛出异常的说明,一般用于方法注释 | @exception exception-name explanation |
{@inheritDoc} | 从直接父类继承的注释 | Inherits a comment from the immediate surperclass. |
{@link} | 插入一个到另一个主题的链接 | {@link name text} |
{@linkplain} | 插入一个到另一个主题的链接,但是该链接显示纯文本字体 | Inserts an in-line link to another topic. |
@param | 说明一个方法的参数,一般用于方法注释 | @param parameter-name explanation |
@return | 说明返回值类型,一般用于方法注释,不能出现再构造方法中 | @return explanation |
@see | 指定一个到另一个主题的链接 | @see anchor |
@serial | 说明一个序列化属性 | @serial description |
@serialData | 说明通过 writeObject() 和 writeExternal() 方法写的数据 | @serialData description |
@serialField | 说明一个 ObjectStreamField 组件 | @serialField name type description |
@since | 说明从哪个版本起开始有了这个函数 | @since release |
@throws | 和 @exception 标签一样. | The @throws tag has the same meaning as the @exception tag. |
{@value} | 显示常量的值,该常量必须是 static 属性。 | Displays the value of a constant, which must be a static field. |
@version | 指定类的版本,一般用于类注释 | @version info |
对两种标签格式的说明:
- @tag 格式的标签(不被{ }包围的标签)为块标签,只能在主要描述(类注释中对该类的详细说明为主要描述)后面的标签部分(如果块标签放在主要描述的前面,则生成 API 帮助文档时会检测不到主要描述)。
- {@tag} 格式的标签(由{ }包围的标签)为内联标签,可以放在主要描述中的任何位置或块标签的注释中。
Javadoc 标签注意事项:
- Javadoc 标签必须从一行的开头开始,否则将被视为普通文本。
- 一般具有相同名称的标签放在一起。
- Javadoc 标签区分大小写,代码中对于大小写错误的标签不会发生编译错误,但是在生成 API 帮助文档时会检测不到该注释内容。
5.Javadoc命令
Javadoc 用法格式如下:
javadoc [options] [packagenames] [sourcefiles]
对格式的说明:
- options 表示 Javadoc 命令的选项;
- packagenames 表示包名;
- sourcefiles 表示源文件名。
在 cmd(命令提示符)中输入javadoc -help就可以看到 Javadoc 的用法和选项(前提是安装配置了JDK),下面列举 Javadoc 命令的常用选项:
名称 | 说明 |
---|---|
-public | 仅显示 public 类和成员 |
-protected | 显示 protected/public 类和成员(默认值) |
-package | 显示 package/protected/public 类和成员 |
-private | 显示所有类和成员 |
-d <directory> | 输出文件的目标目录 |
-version | 包含 @version 段 |
-author | 包含 @author 段 |
-splitindex | 将索引分为每个字母对应一个文件 |
-windowtitle <text> | 文档的浏览器窗口标题 |
6.DOS命令生成API帮助文档
(1)在D盘新建一个文本文档,名称为Text.txt。
(2)在Text文档中输入下列代码保存,修改文件后缀名为.java。
(3)打开 cmd 窗口,输入 javadoc -author -version Text.java命令。如图所示。
(4)打开 Text.java 文件存储的位置,会发现多出了一些文件,有一个 Text.html 文档。打开文档,文档页面如图所示。
注意:以上没有考虑编码格式的问题,注释中有汉字可能会乱码。使用javadoc -encoding UTF-8 -charset UTF-8 Text.java会解决编码问题。
7.Eclipse生成API帮助文档
(1)在 Eclipse 中新建一个 Test 类,代码如下:
/**
* @author 豆皮没有皮(qq_43434300)
* @version jdk1.8.0
*/
public class Test {
public static void main(String[] args) {
/**
* 这是一个输出语句
*/
System.out.println("豆皮没有豆博客地址:https://blog.csdn.net/qq_43434300");
}
}
注意:代码 9~11 行没有放在类、成员变量或方法之前,所以 Javadoc 会忽略这个注释。
(2)在项目名处单击鼠标右键,然后选择Export…,如图所示。
(3)在弹出窗口中选择 Java 文件夹,点击 Java 文件夹下面的 Javadoc,然后点击“Next”,如图所示。
(4)选择你要生成 Javadoc 的项目,并更改你想保存的 API 帮助文档地址(默认为工程目录下,建议不要修改)。点击“Finish”,如图所示。
(5)点击“Finish”之后会问是否更新 Javadoc 文件的位置,只需要点击“Yes To All”即可,如图所示。
(6)这时可以看到控制台输出生成 Javadoc 的信息,如图所示。
(7)打开保存的文件夹,找到 Test.html 文件并打开,如图所示。
以上就是使用 Eclipse 简单建立一个 API 帮助文档的过程。
8.文档注释的格式
在编写文档注释的过程中,有时需要添加 HTML 标签,比如:需要换行时,应该使用<br>,而不是一个回车符;需要分段时,应该使用<p>。
例如把上面 Test 类改为以下代码:
/**
* @author 豆皮没有皮<br>
* (qq_43434300)
* @version jdk1.8.0<br>
* 1.8.0
*/
public class Test {
public static void main(String[] args) {
/**
* 这是一个输出语句
*/
System.out.println("豆皮没有豆博客地址:https://blog.csdn.net/qq_43434300");
}
}
Javadoc 并不是将代码中的文档注释直接复制到帮助文档的 HTML 文件中,而是读取每一行后,删除前面的*号及*以前的空格再输入到 HTML 文档。
注释前面的*号允许连续使用多个,其效果和使用一个*号一样,但多个*前不能有其他字符分隔,否则分隔符及后面的*号都将作为文档的内容。
上一篇:JAVA java学习(16)——————javaweb主流框架介绍(小结)
下一篇:JAVA java学习(18)——————java数据类型介绍【内置(基本)数据类型和引用数据类型】