关键字就是Java语言本身占用了的一些单词,这些单词是Java构成的基础构件。
Java规定这些关键字你在编写代码的时候不可以使用,以防止程序混淆!
截至Java8为止,关键字一共有50个。我们今天按照关键字的使用场景来分类学习一下。
1.数据类型关键字
Java中把数据进行了分类,使用不同的关键字来定义这个数据是什么类型:
byte:表示8位整数。
short:表示16位整数。
int:表示32位整数。
long:表示64位整数。
float:表示32位浮点数。
double:表示64位浮点数。
char:表示16位Unicode字符。
boolean:表示布尔值,只能是true或false。
比如我们要定义(Java中叫声明)一个数字1,代码就是这么写:
int num = 1;
这句的意思就是 一个叫num的数据,它是一个int整数, 值是1。在Java中num叫变量,因为它在代码运行中是不停的改变的,比如我再写一句:
int num = 2;
此时,变量num就变成了2
其他的类型声明也一样:
boolean flag = true;
double n = 1.0;
char letter = 'A';
我们后面在数据类型文章中会详细学习这些数据类型。
2.控制语句关键字
我们上篇学习了Java运行时是main方法中的代码依次从上而下运行的,但是有时候我们需要根据不同的场景来让代码跳过、循环重复运行等等,这时候就要用控制语句来控制程序的流程。
Java中的控制语句关键字包括:
if:条件判断。
else:与if搭配,用于条件不成立时执行。
for:用于创建一个循环。
while:当条件为真时重复执行代码块。
do:创建一个do-while循环。
switch:创建一个开关语句。
case:在开关语句中定义一个case子句。
default:在开关语句中定义默认的case子句。
break:提前退出循环或开关语句。
continue:跳过当前循环的剩余部分,继续下一次循环。
return:从方法中返回一个值,并结束方法执行。
比如我们说如果是满18岁就是成年人,否则就是未成年人,在代码中就是这么写:
if("年龄大于18"){
成年人
}else{
未成年人
}
以后在流程控制文章中再详细学习。
3.类和对象关键字
Java是一门面向对象的编程语言,定义类和对象就需要用到以下关键字:
package - 用于声明包。
class:声明一个类。
interface:声明一个接口。
extends:指示一个类是另一个类的子类。
implements:指示一个类实现了某个接口。
new:创建一个对象实例。
this:引用当前对象。
super:引用当前对象的超类。
import - 用于导入类、包或接口。
instanceof - 用于检查对象是否是某个类的实例。
比如创建一个动物类
class Animal {
private String name;
// 动物会跑
void run() {
System.out.println("跑");
}
}
如果要实例化一个动物(实例化就是创建一个属于这个类对象),比如猴子:
Animal monkey = new Animal();
// 猴子跑,就是直接猴子对象调用它跑的方法()
monkey.run();
再比如一条狗:
Animal dog = new Animal();
dog.run();
4.访问控制关键字
Java提供了访问控制机制,使用以下关键字可以限制对类成员的访问。
private:声明私有成员,只能在定义它们的类中访问。
protected:声明受保护的成员,可以在同一包内的类和子类中访问。
public:声明公共成员,可以从任何地方访问。
这些很简单,就是分开了可以看到的级别,比如你看不到你爸的银行卡有多少钱,但是能看到自己私有的,而对于厨房用于公共买菜的钱,大家谁都能看到。
5.异常处理关键字
在代码运行时会发生异常和错误,Java的异常处理机制,可以对这些异常进行捕捉处理。使用以下关键字实现:
try:尝试执行可能抛出异常的代码块。
catch:捕获和处理异常。
finally:定义一个代码块,无论是否捕获或抛出异常,该代码块都会被执行。
throw:显式抛出一个异常。
throws:声明方法可能抛出的异常。
示例:
public class Xh {
public static void main(String[] args) {
// try后面这个{}里的就是我们编写的代码,这些代码报错后,就会被catch抓住
try {
int result = 10 / 0;
} catch (Exception e) {
// 捕捉到的异常会在这里进行处理
System.out.println("啊哈哈 抓到个异常");
} finally {
// finally里也是写代码的,不管异常发生没,都会执行这里的异常,所以这里可以用来收尾
System.out.println("没关系 我会出手!");
}
}
}
6.其他关键字
其他的一些关键字也有各自的一些用处:
static:声明静态成员,属于类而不属于任何对象。
final:声明最终的变量、方法和类,表示它们不能被修改或继承。
abstract:声明抽象类和抽象方法,抽象方法没有具体实现。
enum:声明一个枚举类型。
goto:保留关键字,未在Java中使用。
native:用于声明由其他语言(如C或C++)编写的本地方法。
synchronized:用于声明同步方法或代码块。
strictfp:用于声明一个类或方法,确保浮点运算的精度。
transient:用于声明一个不应该被序列化的变量。
volatile:用于声明一个变量,表示它的值可能会被多个线程修改。
assert:用于插入断言语句。
const:保留关键字,未在Java中使用。
好了,没了。