代码
public class Test {
static int printt(){
int i = 1;
try{
return i;
}finally{
System.out.print(++i);
}
}
public static void main(String []args){
System.out.print(Test .printt());
}
}
输出结果:21
结论:在try{}finally{}中,finally中的一定会执行,但是finally修改的变量值,不会影响try{}中的返回值。
代码
public class Test {
static int printt(){
int i = 1;
try{
return i;
}finally{
System.out.print(++i);
return 3;
}
}
public static void main(String []args){
System.out.print(Test .printt());
}
}
输出结果:23
结论:在try{}finally{}中,finally中的一定会执行,当finally中有返回值时,则函数返回值为finally中的return值。