该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在方法中使用return 就是返回到方法的调用方,而在main 方法中使用,返回到JVM(虚拟机),如果把上面的main 方法中的代码放在一个方法中,如下
public class C {
public static void Method(){
int i=0;
try{
for(i=0;i<10;i++){
try{
if(i%3==0) throw new Exception();
System.out.print("1:"+i+",\n");
}catch(Exception e2){
System.out.print("2:"+i+",\n");
i+=2;
//if(i%3==2) throw new Exception();
return;
}finally{
i*=2;
System.out.print("3:"+i+",\n");
}
}
}catch(Exception e2){
System.out.print("4:"+i+",\n");
return;
}finally{
System.out.print("5:"+i+",\n");//(不去掉会执行的代码)
}
System.out.print("Method End!");
}
public static void main(String args[]){
C.Method();
System.out.println(" end !");
}
}
去掉return 程序还会继续向下执行,最终输出
2:0,
3:4,
5:4,
Method End!
Main end !
不去掉return ,程序 不会输出
2:0,
3:4,
5:4,
Main end !