一、Java关键字(保留字)
1. 核心定义
关键字是Java语言预先定义、赋予特殊含义的单词,全部为小写字母,不能作为标识符(变量名、类名等)使用。JDK 8及以上版本共有53个关键字,其中const和goto是保留字(暂无实际用途,但仍不可使用)。
2. 关键字分类(高频核心)
| 类别 | 典型关键字 | 核心用途 |
|---|---|---|
| 数据类型 | int, double, char, boolean | 定义变量/常量的类型 |
| 流程控制 | if, else, for, while, break | 控制代码执行流程(分支、循环、中断) |
| 访问修饰符 | public, private, protected | 控制类/方法/变量的访问权限 |
| 类与对象 | class, interface, new, this | 定义类/接口、创建对象、引用当前对象 |
| 异常处理 | try, catch, throw, finally | 捕获和处理程序异常 |
| 其他核心 | static, final, void, return | 定义静态成员、常量、无返回值方法、返回值 |
3. 关键注意点
- ✅ 所有关键字全小写(如
int正确,Int/INT不是关键字); - ❌ 不能用关键字命名变量/类/方法(如
int for = 10;编译报错); - ❗
true/false/null是字面量(不是关键字),但同样不能作为标识符。
// 错误示例:使用关键字作为变量名
public class KeyWordError {public static void main(String[] args) {// 编译报错:class是关键字int class = 10; // 编译报错:true是字面量,不可作为变量名boolean true = false; }
}// 正确示例:合法命名
public class KeyWordRight {public static void main(String[] args) {int classNum = 10; // 用classNum替代classboolean isTrue = false; // 用isTrue替代true}
}
二、Java标识符
1. 核心定义
标识符是程序员自定义的名称,用于标识变量、类、方法、包、常量等,是代码中“自定义命名”的核心规则。
2. 标识符命名规则(必须遵守,否则编译报错)
- 组成规则:只能由字母(A-Z/a-z)、数字(0-9)、下划线(_)、美元符号($)组成;
- 开头规则:不能以数字开头(如
123name非法,name123合法); - 关键字规则:不能与关键字/保留字/字面量重名;
- 大小写敏感:
Name和name是两个不同的标识符; - 无长度限制:但建议简洁(如
studentScore而非studentFinalExamMathScore)。
3. 标识符命名规范(建议遵守,提升代码可读性)
Java行业通用“驼峰命名法”,不同标识符有明确规范:
| 标识符类型 | 命名规范 | 示例 |
|---|---|---|
| 变量/方法 | 小驼峰:首字母小写,后续单词首字母大写 | studentName、getScore() |
| 类/接口 | 大驼峰:所有单词首字母大写 | Student、UserService |
| 常量 | 全大写,单词间用下划线分隔 | MAX_SCORE、PI |
| 包名 | 全小写,多级包用点分隔 | com.example.demo |
4. 合法/非法标识符示例
public class IdentifierDemo {public static void main(String[] args) {// 合法标识符int age = 20; // 字母int _age = 20; // 下划线开头int $age = 20; // 美元符号开头int age123 = 20; // 字母+数字int Age = 20; // 大小写敏感,与age不同// 非法标识符(注释掉,否则编译报错)// int 123age = 20; // 数字开头// int age-123 = 20; // 包含减号(非法字符)// int class = 20; // 关键字// int true = 20; // 字面量// int 年龄 = 20; // 虽然Java支持中文,但不推荐(跨平台/协作易出问题)}
}
总结
- 关键字:Java预定义的小写特殊单词,共53个,不可作为标识符使用,核心用于控制语法结构;
- 标识符:程序员自定义名称,必须遵守“字母/数字/下划线/$、不以数字开头、不与关键字重名”的规则;
- 命名规范:优先使用驼峰命名法,变量/方法小驼峰、类/接口大驼峰、常量全大写,提升代码可读性。