【JAVA基础】JAVA中50个关键字(包含2个保留字)

一、关键字

关键字(Key Word):JAVA语言中预定义的、有特殊意义的标识符,它对于Java编译器有特殊意义,用户只能按照系统规定的方式使用,不能重新定义。JAVA中所有关键字都是小写的。

关键字用来表示数据类型、程序的结构等,不能用作变量名、方法名、类名、包名和参数。另外,Java还有3个标志符:true、false、null,它们不是关键字,作为单独的标识类型,包含Java定义的值。
和关键字一样,它们也不可以作为标识符使用

注意:关键字和保留字均不能用作变量名、方法名、类名、包名和参数。

二、总表:java关键字共50个(其中包含两个保留字const,goto)

在这里插入图片描述

三、关键字的分类

关键字分为:数据类型、程序控制语句、访问控制修饰符、类方法和变量修饰符、错误处理、包相关、变量引用等。

1. 与数据类型相关的关键字(10个):

关键字 数据类型 备注
byte 字节型 8bit(位)、1字节
char 字符型 16bit、2字节
boolean 布尔型 真或假、1字节
short 短整型 16bit、2字节
int 整型 32bit、4字节
float 浮点型 32bit、4字节
long 长整型 64bit、8字节
double 双精度 64bit、8字节
void null(空) 无返回值
enum 枚举 新的类型

2. 与条件循环(流程控制)相关的关键字(13个):

关键字 含义
if 条件判断
else 条件转折
do…while… 循环语句
for 表示循环
switch…cash… 条件分支流程
default 默认的分支
break 结束本层循环,或跳出某层循环
continue 跳出本次循环
return 返回一个具有特定类型的值
instanceof 判断某个对象是否为指定类型的实例对象
assert 断言

if (关系表达式){语句块1} else{语句块2}
如果关系表达式的值为true,则执行语句块1,否则执行语句块2。

do {……} while(关系表达式)……
当关系表达式的值为true是继续循环。

for(表达式a; 表达式b; 表达式c)
表达式a用于流程控制的开始值,表达式b表示循环终止条件,表达式c通常用于控制循环的次数,一般会用一个int类型的变量类计数,如(int i=0; i<10; i++)。

switch(表达式)
{
case 常量表达式1:语句1;

case 常量表达式2:语句2;
default:语句;
}

如果表达式为常量表达式1,则执行语句1,如果表达式为常量表达式2,则执行语句2,以此类推,如果在所有case条件下都不成立时就执行default,default并不是必须的;case后的语句可以不用大括号;switch语句的判断条件可以接受int、byte、char、short,不能接受其他类型。

continue跳出本次循环,而break跳出本层循环。

instanceof:二元操作符,和==,>,<是同一类的。判断它左边的对象是否是它右边的类的实例,返回boolean类型的数据。

assert两种使用方法
①assert:如果为true,则程序继续执行,如果为false,则程序抛出AssertionError并终止运行。
②assert <错误信息表达式> :如果为true,则程序继续执行,如果为false则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。

3. 与修饰符相关的关键字(10个):

关键字 含义 用法
public 公有的 可跨包,所有类均可访问
protected 受保护的 当前包内可用,可以访问当前类、同包、非同包的子类
private 私有的 当前类可用,可以从一个包中的任何类访问类成员
static 静态的 只有内部类可以使用static关键字修饰
final 最终的不可被改变的 应用于类,以指示不能扩展该类(不能有子类)
native 本地 native关键字的函数都是操作系统实现的, java只能调用
strictfp 精确浮点 使得浮点运算更加精确,符合IEEE-754规范的
synchronized 锁定当前对象 应用于方法或语句块,防止关键代码段一次被多个线程执行
transient 声明 应用于类的成员变量,声明不用序列化的成员域
volatile 同步机制 同一时间只有一个线程可以访问volatile变量,保证线程安全

访问控制修饰符:public、protected、private,应用于类、方法或字段(类中声明的变量),所有类成员的默认访问范围都是 package 访问,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。
在这里插入图片描述

final的变量的值不能被改变,final的方法不能被重写,final的类不能被继承,final 关键字可以应用于方法,以指示在子类中不能重写此方法。一个类不能同时是 abstract 又是 final,abstract 意味着必须扩展类,final 意味着不能扩展类。一个方法不能同时是 abstract 又是 final,abstract 意味着必须重写方法,final 意味着不能重写方法。

native :以指示该方法是用 Java 以外的语言实现的。Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。

4. 与异常处理相关的关键字(5个):

关键字 含义 用法
try 捕获异常 用于包含可能引发异常的语句块
catch 处理异常 用来在 try-catch 或 try-catch-finally 语句中定义异常处理块
finally 有没有异常都执行 用在异常处理的最后一个语句块
throw 抛出一个异常对象 用于引发异常,throw (异常对象);
throws 声明一个异常可能被抛出 应用于方法,以便指出方法引发了特定类型的异常

try{
 ……
}catch(类型b){
 ……
}finally{
 ……
}

try{……}中放置可能会发生异常的的语句块,catch(){……}用于抓住异常,{}定义当出现异常时的处理方法。finally{……}表示不管异常是否发生,都得进行finally{}中的处理。

throw是一个抛出去的动作,不能单独使用,throw (异常对象);
throws只用在一个方法的末端,表示这个方法体内部如果有异常,就把异常交给他的上级管理,自己不进行异常处理;可以单独使用,(修饰符)(返回值类型)(方法名)([参数列表])[throws(异常类)]{…},如: public void function() throws Exception{…}。

5. 与动作相关的关键字(10个):

关键字 含义 作用
class 用来声明新的Java类,该类是相关变量或方法的集合
interface 接口 用来声明新的Java 接口,接口是方法的集合
package 定义包 指定在 Java 源文件中声明的类所驻留的 Java 包
import 引入包 使一个包中的一个或所有类在当前 Java 源文件中可见
extends 继承 用在 class 或 interface 声明中,指示所声明的类或接口是子类
implements 实现 在 class 声明中使用,表明一个类实现了给定的接口
abstract 声明抽象 可以用定义抽象类,抽象函数,表明类或者方法具有抽象属性
this 当前类的父类对象 用于引用当前实例
super 调用父类的方法 用于引用使用该关键字的类的超类
new 创建新实例对象 A a=new A(); A表示一个类

抽象类的用法规则如下
a,用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,这个方法叫做抽象方法;
b,含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写;
c,抽象类不能被实例化;
d,抽象方法只需声明,而不需实现。

6. 保留字(2个):

保留字(Reserve Word):保留字是为java预留的关键字,他们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。即它们在Java现有版本中没有特殊含义,以后版本可能会作为有特殊含义的词,或者该词虽然在Java中没有特殊含义,以后版本也不打算使用,但在其它语言中有特殊含义,不宜在Java中定义为变量名称等,因为容易混淆。

保留字 含义 作用
goto 跳转 无任何作用,Java 不允许 goto 跳转
const 静态 类型修饰符,使用const声明的对象不能更新

四、补充

标志符
(1) null :表示无值,将 null 赋给非原始变量,相当于释放该变量先前所引用的对象。 不能将 null 赋给原始类型(byte、short、int、long、char、float、double、boolean)变量。
(2) true : boolean 变量的两个合法值之一。
(3) false : boolean 变量的两个合法值之一。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐