java finally return
来源:互联网 发布:application.js下载 编辑:程序博客网 时间:2024/06/18 15:07
执行顺序:
①先执行return操作
②确定返回值,但是此时并不会立刻返回。(如果返回值是非引用类型(int等),即使在finally改值也没用,也只会返回第一步中计算出来的返回值。)
③执行finally中的操作(如果该finally操作中也包含有return操作则会直接返回,也就是说正常的return会被finally的return覆盖)
④finally里面的内容执行完了,程序则会返回第二步的返回值。
●正常程序
public class FinallyTest1 { public static void main(String[] args) { System.out.println(test11()); } public static String test11() { try { System.out.println("try block"); return test12(); } finally { System.out.println("finally block"); } } public static String test12() { System.out.println("return statement"); return "after return"; } }运行结果为:
try blockreturn statementfinally blockafter return
●finally里有return
public class FinallyTest2 { public static void main(String[] args) { System.out.println(test2()); } public static int test2() { int b = 20; try { System.out.println("try block"); return b += 80; } catch (Exception e) { System.out.println("catch block"); } finally { System.out.println("finally block"); if (b > 25) { System.out.println("b>25, b = " + b); } return 200; } // return b; }}运行结果是:
try blockfinally blockb>25, b = 100200
●finally里改变int值
public class FinallyTest3 { public static void main(String[] args) { System.out.println(test3()); } public static int test3() { int b = 20; try { System.out.println("try block"); return b += 80; } catch (Exception e) { System.out.println("catch block"); } finally { System.out.println("finally block"); if (b > 25) { System.out.println("b>25, b = " + b); } b = 150; } return 2000; }}运行结果是:
try blockfinally blockb>25, b = 100100
阅读全文
0 0
- java try return finally
- java return finally 问题
- java return遇到finally
- java finally return
- java return 与 finally
- java finally return
- Finally and Return in Java
- java中的return作用 finally
- Java 异常处理:finally,return
- return finally
- java try finally return 顺序,finally一定会执行吗?
- java中return和finally执行顺序
- java面试之finally与return
- java try catch finally中的return问题
- JAVA中finally和return的故事
- java中try,finally和return
- Java return和finally执行顺序
- finally与return执行循序 Java
- 单词接龙codevs1018(noip2000)
- LitePal 1.6.0版本来袭,数据加解密功能保障你的应用数据安全
- Java:利用接口实现打印机案例(墨盒有彩色和黑白色,纸张有A4纸和B5纸)
- c++邻接矩阵的创建
- virtualBox中安装xp打开win8.1中exe闪退
- java finally return
- ArcGIS for Android Runtime 100 升级实践(一)地图加载,图形和符号初始化
- yii2.0 安装advanced 模版(window)
- Oracle impdp参数说明和导入数据库的SQL语句写法
- python学习:正则表达式
- iOS 崩溃统计工具-Crashlytics
- js复习笔记day1
- WPF将DataGrid内容导出到Excel
- mysql连接异常:The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zo