package demo1;
/**
* (1)首先执行finally,然后才执行return;
(2)如果finally里面有return,try中的return不会再执行;
(3)如果try中有了异常,return也不执行;
*/
public class Test1 {
public static int f1(){
int i=1;
try{
i=2;
return i;
}catch(Exception e){
return i;
}finally{
i=3;
System.out.println("finally");
}
}
public static int f2(){
int i=1;
try{
i=2;
return i;
}catch(Exception e){
return i;
}finally{
i=3;
System.out.println("finally");
return i;
}
}
public static int f3(){
int i=1;
try{
i=i/0;
return i;
}catch(Exception e){
return i;
}finally{
i=3;
System.out.println("finally");
}
}
public static void main(String[] args){
System.out.println(f1());
System.out.println(f2());
System.out.println(f3());
}
}
运行结果:
finally
2
finally
3
finally
1