Java return和finally执行顺序

来源:互联网 发布:汽车行业数据 编辑:程序博客网 时间:2024/05/16 16:24

    在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是会被执行的。 


0 0
原创粉丝点击