Java 关键字

概述

这篇文章解释了 java 关键字的概念,介绍了各个关键字的用途。

概念

关键字(keyword)是指在程序语言中预先定义,有特殊含义的词,也被称为保留字。在每种语言中都有自己的关键字,这些关键字是编程语言的基础,理解和熟练使用这些关键字是学习这些编程语言的基础。

在我们定义类、方法、变量时,不能使用关键字来命名,否则编译器会当成关键字处理,会提示程序错误。

在Java中,关键字都是小写的。Java中有51个关键字,还有一些保留字,保留字是预留的关键字,在以后的版本中可能会升级成关键字。

用途

3 个访问权限修饰符

  • public 公开的,大家都能看到,都能用,如公园、公共厕所
  • protected 受保护的,自己人可以看到,如我家的洗衣机,我的家人能用,我的儿子能用
  • private 私有的,只有我自己能看到,如我的个人隐私,只有我自己知道,你想知道除非我告诉你

用于定义类、方法、属性的访问权限,在 java 中一共有 4 种访问权限,分别是:public、protected、(default)、private,其中 (default) 表示默认的访问权限,不加访问修饰符,一般在接口种定义方法时使用。

访问权限修饰符表示的访问权限:

修饰符 同一个类 同一个包 不同包子类 不同包的非子类
public
protected
(default)
private

8 个关于类的关键字

  • class 类,用于定义一个类
  • interface 接口,用于定义一个接口
  • enum 枚举,用于定义枚举
  • abstract 抽象,用于定义抽象类、抽象方法
  • implements 实现,用于标识类实现接口
  • extends 继承,用于标识类继承另一个类
  • new 新建,用于创建一个类的对象
  • instanceof 用于判断一个对象是否是指定类的实例

2 个包的关键字

  • package 包,用于定义包,可以将具有相同属性的类放到一个包中,方便管理

  • import 导入,用于导入其他包中的类

12 个数据类型关键字

  • null 空,标识空值,啥也没有
  • boolean 布尔值,表示真、假
  • true 真,布尔值的真
  • false 假,布尔值的假
  • void 无返回值
  • byte 字节,字节数据,占 8 位(bit)
  • char 字符,字符数据,2个字节,占 16 位
  • short 短整型,定义小一点的整数,2 个字节,占 16 位
  • int 整形,定义整数,4个字节,占 32 位
  • float 浮点型,定义小数,4 个字节,占 32 位
  • double 双精度浮点型,经度更大的小数,8 个字节,占 64 位
  • long 长整型,定义较大的整数,8个字节,占 64 位

11 个流程控制关键字

  • if 如果,用于判断条件是否成立,成立则执行指定的代码

  • else 否则,与 if 连用,如果 if 中的条件不成立,则执行 else 指定的代码

  • switch 开关、切换器,枚举值的内容来判断,如果执行指定的代码

    • case 实例,与 switch 组合使用,用于列举条件值的实例
    • default 默认值,当switch中所有 case 的条件都不满足时,执行 default 指定的代码
  • break 中断,用于跳出 switch 条件匹配,或跳出循环

  • continue 继续,用于跳出当前条件匹配,继续执行下一个匹配,或用于跳出本次循环而继续下一次循环

  • for 循环,用于定于循环

  • while 当,用于指定循环执行条件,当条件成立时将循环执行代码

  • do ,与while连用组成 do-while 循环,先执行一遍代码再判断while中条件是否成立

  • return 返回,用于在方法中返回执行结果

9 个修饰类、方法、属性和变量的关键字

  • static 静态的,用于定义静态方法、属性,也可以定义静态代码块
  • final 最终的,用于修饰类、方法、属性、变量,用final修饰的类不能被继承,方法不能被子类重写,属性不能被修改,变量不能被修改
  • super 父类,在子类中表示父类,用于调用父类中的方法、属性
  • this 当前对象,用于调用当前类中方法、属性
  • native 本地,修饰方法,用于声明本地方法
  • strictfp 精确计算浮点数,修饰类、接口或方法,被修饰的类、接口或方法在计算浮点数时会按 浮点规范IEEE-754来执行
  • synchronized 同步,修饰方法或代码块,在多线程中限定同一时间只有一个线程执行
  • transient 暂时的,修饰属性,在持久化时就不会包含 transient 修饰的属性了
  • volatile 挥发性的,用于保证变量在多线程中的可见性,即一个线程中修改后,另一个线程立即可见,另外还能禁止 jvm 进行指令重排

5 个错误处理关键字

  • try 尝试,用于将可能会抛出异常的代码包裹起来,如果执行过程中抛出异常,可以使用 catch 进行捕获
  • catch 捕获,与 try 组成 try-catch 语句,在 try 块中执行代码,抛出异常在 catch 中捕获并处理
  • finally 最终,与 try 和 catch 组成 try-catch-finally 或 try-finally 语句,用于在 try 中代码抛出异常后,最终还能执行 finally 中的代码,一般可以在 finally 中关闭 I\O 或连接
  • throw 抛出,在方法中抛出异常
  • throws 抛出,在方法声明中指定方法内可能抛出的异常

1 个调试程序的关键字

assert 用于判断条件表达式是否成立,一般在调试程序时用来判断执行结果是否与预期结果相同。

保留的关键字

byValue, cast, future, generic, inner, operator, outer, rest, var,goto,const

总结

学了这么久的 java ,现在发现竟然有些关键字没听过,因为没有碰到这些关键字使用场景,但也发现自己的基础掌握不牢,现在查漏补缺,正好补上这一块。