Java关键字是编程语言里事先定义的,有特别意义的标识符。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
关键字一律用小写字母标识,按照Oracle官方给出的关键字列表
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
Java目前包含如下 50 个关键字:
访问控制 | private | protected | public | |
类,方法和变量 | abstract | class | extends | final |
implements | interface | native | new | |
void | static | transient | volatile | |
enum | synchronized | strictfp | assert | |
流程控制 | break | continue | return | do |
while | if | else | for | |
instanceof | switch | case | default | |
错误处理 | try | catch | throw | throws |
finally | ||||
包相关 | import | package | ||
基本类型 | boolean | byte | char | double |
float | int | long | short | |
变量引用 | super | this | ||
保留字 | goto | const |
- 关键字
goto
和const
是C++保留的关键字,目前并没有在Java中用到。如果它们出现在Java程序中,Java编译器能够识别它们,并产生错误信息。 - 字面常量
true
、false
和null
如同字面值100一样,不是关键字。但是它们也不能用作标识符,就像100不能用作标识符一样。在Java IDE中,一般对true
、false
和null
使用关键字的颜色。 - strictfp关键字是用于修饰方法或者类的,使其能使用严格的浮点计算。浮点计算可以使用以下两种模式:严格的和非严格的。严格模式可以保证计算结果在所有的虚拟机实现中都是一样的。非严格模式允许计算的中间结果以一种扩展的格式存储,该格式不同于标准的IEEE浮点数格式。扩展格式是依赖于机器的,可以使代码执行更快。然而,当在不同的虚拟机上使用非严格模式执行代码时,可能不会总能精确地得到同样结果。默认情况下,非严格模式被用于浮点数的计算。若在方法和类中使用严格模式,需要在方法或者类的声明中增加
strictfp
关键字。严格的浮点数可能会比非严格浮点数具有略好的精确度,但这种区别仅影响部分应用。严格模式不会被继承,即在类或者接口的声明中使用strictfp
不会使得继承的子类或接口也是严格模式。