finally在return前还是后进行 解析
来源:互联网 发布:java 泛型 多继承 编辑:程序博客网 时间:2024/06/05 06:29
今天在做题目的时候碰到这个题目,输出是多少?大家可以先看下程序。
应该很多同学和我一样都得到2这个结果,但是输出却是1,自己在eclipse上测试了也确实是1。
这是为什么?找到了一个比较好懂的答案:
其中关键的一句话是try中先把要返回的结果存放到不同于a的局部变量中去。值是存储在堆栈(一种先进后出的结构)上,在上述函数返回的时候,会将返回值压入堆栈栈顶,相当于堆栈中现在有两个相同的值, 而finally 使用的是之前的局部变量的值,所以finally操作不会对返回值产生影响。
若是在finally里中加一句return x;这是输出结果就会变成2。
1 0
- finally在return前还是后进行 解析
- try中有return,finally中的code会不会执行,执行是在return前还是后?
- try{return}finally{}模块中finally中的code是在return前执行还是rerun后执行
- try{return}finally{}模块中finally中的code是在return前执行还是rerun后执行
- 关于finally是在return前还是后执行的一个测试
- 关于java中finally中的语句在return前还是后执行的个人理解。
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try{}里面有一个return语句,那么紧跟在这个try后的finally{}的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- .try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
- 51. N-Queens Hard
- java中TreeMap用例,并加入比较器排序
- 计算字符串长度
- apache下虚拟域名配置
- Django之admin 一
- finally在return前还是后进行 解析
- 2017.4.17
- TOP10_SQL
- 十二、Springboot的静态资源处理
- java.lang.NoClassDefFoundError和ClassNotfoundException
- gulp详细入门教程
- 使用Java开发高性能网站需要关注的那些事儿
- POJ 1083 线性DP
- 标题:素数等差数列