Java 关键字是 Java 语言中预先定义好的、具有特殊含义和用途的单词,它们不能被用作变量名、方法名、类名等标识符。

下面我将 Java 关键字分为几类进行说明,并列出完整的列表。
Java 关键字分类
数据类型关键字 (用于定义变量类型)
这些关键字用来声明变量或方法的返回值类型。
-
基本数据类型:
byte: 8位有符号整数short: 16位有符号整数int: 32位有符号整数long: 64位有符号整数float: 32位单精度浮点数double: 64位双精度浮点数char: 16位 Unicode 字符boolean: 表示true或false的布尔值
-
引用数据类型:
(图片来源网络,侵删)class: 定义一个类interface: 定义一个接口enum: 定义一个枚举类型 (JDK 1.5 引入)
流程控制关键字 (用于控制程序执行流程)
这些关键字用于构建条件分支、循环和跳转。
-
条件分支:
if: 如果条件成立,则执行...else:if条件不成立,则执行...switch: 多分支选择结构case:switch语句中的一个分支default:switch语句中,所有case都不匹配时的默认分支
-
循环:
for: 知道循环次数的循环while: 当条件为true时,循环执行do: 先执行一次循环体,再判断while条件 (与while配合使用)break: 跳出当前循环或switch语句continue: 跳过本次循环,直接进入下一次循环
访问控制关键字 (用于定义访问权限)
这些关键字用于修饰类、方法和变量,控制它们的可见范围。

public: 公开的,任何地方都可以访问。protected: 受保护的,同一包内或不同包的子类可以访问。private: 私有的,只有在本类内部可以访问。default(不写): 默认的,也叫包私有(package-private),同一包内可以访问。
类、方法和变量修饰符
这些关键字用于提供更详细的声明信息。
static: 静态的,可以修饰类成员(变量、方法),使其属于类而非实例。final: 最终的,可以修饰类(不能被继承)、变量(不能被重新赋值)、方法(不能被重写)。abstract: 抽象的,可以修饰类(不能被实例化)和方法(没有方法体)。synchronized: 同步的,用于多线程编程,确保代码块在同一时间只被一个线程执行。native: 本地的,表示该方法由非 Java 代码(如 C/C++)实现。strictfp: 严格浮点,保证浮点数在不同平台上计算结果一致。transient: 瞬时的,用于序列化,标记该变量不被序列化。
异常处理关键字
用于处理程序运行时可能出现的错误。
try: 尝试执行一段可能抛出异常的代码。catch: 捕获并处理try块中抛出的异常。finally: 无论是否发生异常,finally块中的代码都会被执行。throw: 手动抛出一个异常对象。throws: 声明一个方法可能抛出的异常。
包相关关键字
用于管理代码的命名空间。
package: 声明当前类所在的包。import: 导入其他包中的类或接口。
其他重要关键字
this: 代表当前对象的引用。super: 代表父类对象的引用。void: 表示方法没有返回值。instanceof: 用于判断一个对象是否是某个类或其子类的实例。assert: 断言,用于进行内部程序逻辑检查,默认不启用。new: 用于创建一个新的对象。return: 从方法中返回,并可以带回一个返回值。
完整的 Java 关字列表 (共 50+ 个)
下面是 Java 核心关键字和保留字的完整列表。保留字是未来可能成为关键字,但目前还没有特殊含义的单词,同样不能用作标识符。
| 分类 | 关键字 |
|---|---|
| 数据类型 | byte, short, int, long, float, double, char, boolean |
| 流程控制 | if, else, switch, case, default, for, while, do, break, continue, return |
| 访问控制 | public, protected, private |
| 类、方法、变量修饰符 | abstract, final, static, synchronized, native, strictfp, transient |
| 异常处理 | try, catch, finally, throw, throws |
| 包相关 | package, import |
| 对象操作 | new, this, super, instanceof |
| 返回值 | void |
| 其他 | assert |
| 保留字 (Reserve Words) | goto, const |
重要说明
-
true,false,null不是关键字 这一点非常容易混淆。true,false, 和null不是 Java 关键字,它们是字面量。true和false是boolean类型的字面量。null是任何引用类型的字面量。 尽管它们不是关键字,但出于惯例和避免混淆,强烈建议不要将它们用作变量名、方法名等标识符。
-
const和goto是保留字 这两个词在 Java 中没有实际用途,但被保留了下来,以防未来 Java 版本可能会使用它们,你不能用它们作为标识符。
要判断一个词是否是 Java 关键字,最准确的方法是查阅 Java 官方文档或参考上面列出的完整列表,掌握这些关键字是学习 Java 编程的第一步和基础。
