Java基础
二、关键字
关键字即被Java赋予了特定功能的单词,下面按照功能分类:
1.定义数据类型的关键字
class、interface、void、byte、short、char、int、long、float、double、boolean、en um;
2. 定义流程控制的关键字
if、else、switch、case、default、while、do、for、break、continue、return;
break:在循环中表示打断其所在循环,其后也可跟一个标记(如:普通单词),将标记写入其所在的指定循环多层循环外,中断指定循环;在switch中则是为了防止case的穿透现象的发生。
例1:
for (int i = 0; i < 10; i ++) {
...;
if (...) {
...;
break;//打断 for 循环
}
}
例2:
stop:
for (...) {
for (...) {
if (...) {
...;
break stop;// stop 为标记,该操作使程序直接退出外层 for 循环。
}
}
}
continue:只能用于循环中,结束此次循环,进行下一次循环。
例:
for (...) {
...;
if (...) {
...;
continue;// 结束此次循环,进行下一次循环。
}
}
return:若有返回值,后面跟返回值并结束该段程序;若无返回值,大多数情况下 return 可以省略。
例1:
public static int numSum () {
...;
if (...) {
...;
return value;// 带返回值,若执行 if 语句,后面的语句不再执行,返回 int 值 0。
...;
}
...;
}
例2:
...;
return;// 可省略
3. 定义权限的修饰符的关键字
public、protected、default、private
它们的被访问权限大小如下表:
4. 定义类、接口、方法及变量的修饰符的关键字
extends、interface、static、final、synchronized(同步)
final:修饰类时被修饰类不能被继承,修饰方法时被修饰方法被能被重写,修饰变量时被修饰变量为常量。
static:修饰方法时被修饰方法称为静态方法,可以被类直接调用,若被修饰类为成员方法,则该方法可以通过类名直接调用,不需要创建对象;静态方法只能调用静态成员。另外,还可以创建 static 代码块,在类第一次被加载时执行(在使用类之前执行)。
例:
// 创建 staticBlock 类
class StaticBlock {
static double rootOf2;
static double rootOf3;
static {// static 代码块,在加载时执行
System.out.println ("Inside static block.");
rootOf2 = Math.sqrt (2.0);
rootOf3 = Math.sqrt (3.0);
}
}
// 检测类
class SDemo {
public static void main (String[] args) {
StaticBlock ob = new StaticBlock ("Inside Constructor");
System.out.println ("Square root of 2 is" + StaticBlock.rootOf2);
System.out.println ("Square root of 3 is" + StaticBlock.rootOf3);
}
}
5. 其他修饰符的关键字
native、strictfp、transient、volatile、assert
6. 定类与类、接口的关键字
extends、implaments
7. 异常处理的关键字
try、catch、finally、throws、throw
try...catch...:可能出现异常处处理异常
例:
class ExampleDemo {
public static void main (String[] args) {
int arr = new int[3];
try {
System.out.println (arr[3]);
} catch (Exception e) {
e.printStackTrace ();
} finally {// finally 语句一定执行
System.out.println (arr[2]);
}
}
}
throws:表示将异常抛出,谁调用谁处理,后面跟抛出的异常类型,执行但不一定发生;
throw:表示将异常抛出,由方法体内的代码解决,后面跟异常类对象,执行一定发生。
例:
if (...) {
throw new ExaException ("...错误。");// ExaException 通常为自定义异常类名
}else {
...;
}
8. 用于包的关键字
package、import
import:导包
9. 用于定义数据类型值的字面值的关键字
true、false、null