1 . java的关键字(keyword)有多少个?
51+2个保留字=53个关键字( java的关键字都是小写的!! )
2 . java的保留字(reserve word)有多少个?问题:分别是什么?
2个保留字
Java语言的的保留字是指预留的关键字
1 ). const 有道释义:n. 常量,常数
用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改
2). goto 有道释义:vi. 转到
指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
注意 :goto 和 const 不是 Java 编程语言中使用的关键字,但是是 Java的保留字,也就是说 Java 保留了它们,但是没有使用它们。
3 . java的关键字分别是什么,作用是什么?
Java关键字的含义:我们讲Java语言保留的,Java的开发和运行平台认识,并能正确处理的一些单词。其实就是个约定,就好比我们约定好,我画个勾勾表示去吃饭。
- 1).访问修饰符的关键字(共3个)
关键字 | 意思 | 备注 |
private | 私用模式 | 只能在声明 private(内部)类、方法或字段的类中引用这些类、方法或字段。 |
public | 公共模式 | 可能只会在其他任何类或包中引用 public 类、方法或字段。 |
protected | 保护模式 | 可以在声明 protected 类、方法或字段的类、同一个包中的其他任何类以及任何子类(无论子类是在哪个包中声明的)中引用这些类、方法或字段。 |
打比方:
private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用。
protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
- 2).基本数据类型的关键字(共8个)
基本类型 | 关键字 | 内存空间 | 取值范围 | 备注 |
整数类型 | byte | 8位 | -128—127 | 字节类型 |
short | 16位 | -32768—32767 | 短整数类型 | |
int | 32位 | | 整数类型 | |
long | 64位 | | 长整数类型 | |
浮点类型 | float | 32位 | | 单精度浮点数类型 |
double | 64位 | | 双精度浮点数类型 | |
字符类型 | char | 16(Unicode码) | char在Java中是16位的,因为Java用的是Unicode | |
布尔类型 | boolean | 8 | 有true和false两个值 |
2.1).基本数据类型包装类
什么是包装类?
Java中的基本类型不是面向对象的,它们只是纯粹的数据,除了数值本身的信息之外,基本类型数据不带有其他信息或者可操作方法。这在实际使用中存在很多不足,为了解决这个不足, * 对每个基本类型都对应了一个引用的类型* , 称为装箱基本类型。
基本类型 | 大小 | 包装器类型 |
byte | 8bit | Byte |
short | 16bit | Short |
int | 32bit | Integer |
long | 64bit | Long |
float | 32bit | Float |
double | 64bit | Double |
char | 16bit | Character |
boolean | / | Boolean |
- 3).类,方法和变量修饰符的关键字(共13个)
关键字 | 称呼 | 含义 |
class | 类 | 例:public class A(){} 花括号里有已实现方法体,类名需要与文件名相同 |
abstract | 声明抽象 | 例:public abstract class C(){} 介于类与接口中间,可以有也可以没有已经实现的方法体 |
extends | 继承 | 用于类继承类 例:public class A extends D(){} |
final | 最终的不可被改变的 | 方法和类都可以用final来修饰 final修饰的类是不能被继承的 final修饰的方法是不能被子类重写。 常量的定义: final修饰的属性就是常量。 |
interface | 接口 | 例子:public interface B(){} 花括号里有方法体,但没有实现,方法体句子后面是英文分号“:”结尾 |
implements | 实现接口 | 用于类或接口实现接口。例:public class A implements B(){} |
native | 本地 | 用来声明一个方法是由与机器相关的语言(如C/C++/FORTRAN语言)实现的; |
new | 创建新的对象 | 例:A a=new A(); A表示一个类 |
static | 静态的 | 属性和方法都可以用static修饰,直接使用类名.属性和方法名。 只有内部类可以使用static关键字修饰,调用直接使用类名.内部类类名进行调用。 注*: static可以独立存在。静态块 |
strictfp | 严格,精准 | 精确浮点的意思,能让浮点运算更加精准 |
synchronized | 线程,同步 | 1.可以应用于方法或语句块,并为一次只应由一个线程执行的关键代码段提供保护。2.可防止代码的关键代码段一次被多个线程执行。 |
transient | 短暂 | 可以应用于类的成员变量,以便指出该成员变量不应在包含它的类实例已序列化时被序列化。 |
volatile | 易失 | 关键字用于表示可以被多个线程异步修改的成员变量。 |
- 4).程序控制的关键字(共12个)
关键字 | 称呼 | 含义 |
break | 跳出,中断 | break 关键字用于提前退出 for、while 或 do 循环,或者在 switch 语句中用来结束 case 块。 break 总是退出最深层的 while、for、do 或 switch 语句。 |
continue | 继续 | continue 关键字用来跳转到 for、while 或 do 循环的下一个迭代。 continue 总是跳到最深层 while、for 或 do 语句的下一个迭代。 |
return | 返回 | return 关键字会导致方法返回到调用它的方法,从而传递与返回方法的返回类型匹配的值。 如果方法具有非 void 的返回类型,return 语句必须具有相同或兼容类型的参数。 返回值两侧的括号是可选的。 |
do | 运行 | do 关键字用于指定一个在每次迭代结束时检查其条件的循环。 do 循环体至少执行一次。 条件表达式后面必须有分号。 |
while | 循环 | while 关键字用于指定一个只要条件为真就会重复的循环。 语法格式:while(循环条件){ 循环体; } |
if | 如果 | if 关键字指示有条件地执行代码块。条件的计算结果必须是布尔值。 if 语句可以有可选的 else 子句,该子句包含条件为 false 时将执行的代码。 包含 boolean 操作数的表达式只能包含 boolean 操作数。 语法格式:if(判断条件){ 方法体; } |
else | 否则 | else 关键字总是在 if-else 语句中与 if 关键字结合使用。else 子句是可选的,如果 if 条件为 false,则执行该子句。 |
for | 循环 | 一种很通用的循环语句。 for(initialization; condition; update){ statements; } for语句执行时,首先执行初始化操作(initialization),然后判断终止条件表达式( condition)是否满足,如果满足终止条件,则退出循环。否则执行循环体中的语句,接着执行迭代部分(update),完成一次循环。下次循环从判断终止条件开始,根据结果进行相应的操作。 |
instanceof | 实例 | 用来测试一个对象是否是一个指定类的实例; |
switch | 观察 | switch判断的比较准确,类似于等值判断。 语法格式: switch(变量){ case 变量值1: //; break; case 变量值2: //...; break; ... case default: //...; break; } 注*swtich()变量类型只能是int、short、char、byte和enum类型。 |
case | 返回观察里的结果 | case 用来标记 switch 语句中的每个分支。通常配套switch使用 |
default | 默认 | default关键字用来标记switch语句中的默认分支。 default块没有隐式结束点。break 语句通常在每个case或default块的末尾使用以便在完成块时退出switch语句。 如果没有default语句,其参数与任何case块都不匹配的switch语句将不执行任何操作。 |
- 5).错误处理的关键字(共5个)
关键字 | 称呼 | 含义 |
try | 捕获异常 | 将会发生异常的语句括起来,从而进行异常的处理。 语法格式: try{ ...... } //捕捉到错误信息,e用来接收异常对象ArrayIndexOutOfBoundsException栈溢出 catch(ArithmeticException e){ e.printStackTrace();//可以理解为输出该异常的具体信息。 ...... } |
catch | 处理异常 | 如果有异常就会执行他里面的语句。 |
throw | 抛出一个异常对象 | 语句用来明确地抛出一个"异常"。 |
throws | 声明一个异常可能被抛出 | 用来标明一个成员函数可能抛出的各种"异常"。 |
finally | 有没有异常都执行 | 确保一段代码不管发生什么"异常"都被执行一段代码。 |
附:throw 和throws的差别
区别一:throw 是语句抛出一个异常;throws 是方法抛出一个异常;
throw语法:throw <异常对象>
在方法声明中,添加throws子句表示该方法将抛出异常。
throws语法:[<修饰符>]<返回值类型><方法名>([<参数列表>])[throws<异常类>]
其中:异常类可以声明多个,用逗号分割。
区别二:throws可以单独使用,但throw不能;
区别三:throw要么和try-catch-finally语句配套使用,要么与throws配套使用。但throws可以单独使用,然后再由处理异常的方法捕获。
- 6).包相关的关键字(共2个)
关键字 | 称呼 | 含义 |
import | 引入包的关键字 | 当使用某个包的一些类时,仅需类名然后使用ctrl+shift+o或者选定类名(类或属性或方法)按住ctrl+单击即可自动插入类所在的包。 在使用时可以用Java.(包名).(方法名).(包中的类名); 如:Scanner快捷键之后自动加入 import java.util.Scanner; |
package | 定义包的关键字 | 将所有有关的类放在一个包类以便查找修改等。 如:package javake.xzbx.Test; |
- 7).变量引用的关键字(共3个)
关键字 | 称呼 | 含义 |
super | 调用父类的方法 | 1:主要存在于子类方法中,用于指向子类对象中父类对象。 2:访问父类的属性 3:访问父类的函数 4:访问父类的构造函数 |
this | 当前对象的引用 | 1.this调用本类中的属性,也就是类中的成员变量; 2.this调用本类中的其他方法; 3.this调用本类中的其他构造方法,调用时要放在构造方法的首行。 |
void | 空返回 | void什么都不是,你只要记住void就是空,在方法申明的时候表示该方法没有返回值. |
- 8).其他的关键字(共5个)
关键字 | 称呼 | 含义 |
true | 真值 | 表示boolean类型的真值 |
false | 假值 | 表示boolean类型的假值,即不成立的情况 |
null | 空值 | 表示空值,如果是对象,则表示此对象为空,如果是数据类型,在表示相应数据类型的默认值,如int的默认值为0。 |
enum | 枚举,列举型别 | enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性。 |
assert | 断言 | 1.assert [boolean 表达式] 如果[boolean表达式]为true,则程序继续执行。 如果为false,则程序抛出AssertionError,并终止执行。 2.assert[boolean 表达式 : 错误表达式 (日志)] 如果[boolean表达式]为true,则程序继续执行。 如果为false,则程序抛出java.lang.AssertionError,输出[错误信息]。 |