您的位置:首页 > 编程语言 > Java开发

Java return和finally执行顺序

2016-04-24 14:24 639 查看
在Java语法中,return表示当前执行的结束,finally则是在当前代码块一定会执行的代码块。如果return在finally在之前执行,也就是return放在try或者catch的语句块里,,finally里的代码也会执行吗?我们来试试看!

源码:

<span style="font-size:18px;"> public static String test(){
int a = 2;
int b = 0;
int c;
String s = "";
try {
s = "try";

System.out.println("try:"+s) ;
c = a/b;
return s;
} catch (Exception e) {
s = "catch";
System.out.println("catch:"+s);
return s;
} finally {
System.out.println("finally:"+s);
s = "finally";
System.out.println("finally:"+s);
}
}</span>


运行结果:








在上面的代码中,最后运行的是finally里的代码块,虽然前面已经有了return语句。也就是说,无论在try或catch里是否有return语句, finally里的代码块总会执行。个人认为,这个先后顺序没有计较的价值。需要知道的是:

1、finally代码块中最后不要用return;2、finally和return一起使用,finally是会被执行的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: