文章目录
【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 变量的两个合法值之一。