Java return和finally执行顺序
2016-04-24 14:24
639 查看
在Java语法中,return表示当前执行的结束,finally则是在当前代码块一定会执行的代码块。如果return在finally在之前执行,也就是return放在try或者catch的语句块里,,finally里的代码也会执行吗?我们来试试看!
源码:
运行结果:
在上面的代码中,最后运行的是finally里的代码块,虽然前面已经有了return语句。也就是说,无论在try或catch里是否有return语句, finally里的代码块总会执行。个人认为,这个先后顺序没有计较的价值。需要知道的是:
1、finally代码块中最后不要用return;2、finally和return一起使用,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是会被执行的。
相关文章推荐
- [疯狂Java]I/O:标准流重定向、JVM读写其它进程数据
- Java的泛型类
- springMVC的生命周期
- ssm整合说明与模板-Spring Spring MVC Mybatis整合开发
- ssm整合说明与模板-Spring Spring MVC Mybatis整合开发
- Java多线程中的interrupt方法的使用
- java内存回收机制
- HashMap源码注解 之 put()方法(六)
- springMVC(2)------springMVC配置实例(注解)
- [翻译]Java Garbage Collection Basics Java 垃圾回收基础 之2 Java 技术与JVM
- Maven+Spring+mybatis项目搭建
- java-一维数组的随机赋值
- JAVA 如何使用 MD5 和SHA1进行数据加密
- [翻译]Java Garbage Collection Basics Java 垃圾回收基础 之1 概览
- Java中的volatile关键字
- java-一维数据的应用
- [翻译]Java Garbage Collection Basics Java 垃圾回收基础 目录
- 我是一个Java class
- 用java开发编译器之Thompson构造:正则表达式的词法解析
- Java Collection API中的表