一、final关键字与finally
**final关键字**
(1)、final关键字可以用来修饰类、方法、基本类型以及引用数据类型.
(2)、final修饰的类是最终类,不能被继承,但其仍然可以拥有父类
(3)、final修饰的方法是最终方法,表示改方法不能被重写,但能被重载
(4)、final修饰基本类型时表示最终值,值不能被修改.修饰引用数据类型时,修饰的是地址值
**finally**
finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,
表示这段语句最终一定会被执行(不管有没有抛出异常),经常被用在需要释放资源的情况下.
```java
public static int test(){
int i;
try{
i = 1;
return i;
}
catch (Exception e){
i = 2;
e.printStackTrace();
return i;
}
finally {
i = 3;
}
}
这段代码在执行时,会先执行try块里面的代码,执行完后会将返回值挂起,然后去执行finally块中的代码,
执行完毕后,将i=1返回.
public static int test(){
int i;
try{
i = 1;
return i;
}
catch (Exception e){
i = 2;
e.printStackTrace();
return i;
}
finally {
i = 3;
return i;
}
}
如果在finally块中加了return,则程序在执行完finally块中的内容后直接将i=3返回.
二、break、continue、return
首先break、continue、return都可用于循环中.、
break
break表示当达到设定条件时,跳出循环.
continue
continue表示达到设定条件时,跳过该次循环.
return
return表示达到设定条件时,返回程序入口.
public static void test(){
for (int i = 0; i < 5; i++) {
if (i==3){
continue;
}
System.out.println(i);
}
System.out.println("循环结束");
}
当程序职执行上述代码,当i=3时,会跳过该次打印,循环完毕后,答应循环结束,程序结束
```java
public static void test(){
for (int i = 0; i < 5; i++) {
if (i==3){
break;
}
System.out.println(i);
}
System.out.println("循环结束");
}
当程序职执行上述代码,当i=3时,会直接跳出循环,答应循环结束.程序结束
public static void test(){
for (int i = 0; i < 5; i++) {
if (i==3){
return;
}
System.out.println(i);
}
System.out.println("循环结束");
}
当程序职执行上述代码,当i=3时,会直接返回函数入口,并且不会打印循环结束