前一段时间 参加公司的笔试问了这个问题,回来一查才知道当时自己做错了,百思不得其解,上网查到下面的程序,但是运行后发现了错误,我修改后放在了我的blog 上面,希望和大家分享。
经典的java中return和finally问题!
<wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>代码如下:</wbr></wbr></wbr></wbr></wbr>
public<wbr><wbr><wbr><wbr><wbr>class<wbr><wbr><wbr><wbr><wbr>Test<br>
{<wbr><wbr><wbr><br>
public<wbr><wbr><wbr><wbr><wbr>static<wbr><wbr><wbr><wbr><wbr>void<wbr><wbr><wbr><wbr><wbr>main(String[]<wbr><wbr><wbr><wbr><wbr>args)<br>
{<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>System.out.print(tt());<wbr><wbr><wbr><br>
}<wbr><wbr><wbr><br>
public<wbr><wbr><wbr><wbr><wbr>static<wbr><wbr><wbr><wbr><wbr>int<wbr><wbr><wbr><wbr><wbr>tt()<br>
{<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>int<wbr><wbr><wbr><wbr><wbr>b<wbr><wbr><wbr><wbr><wbr>=<wbr><wbr><wbr><wbr><wbr>23;<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>try<br><wbr><wbr><wbr><wbr>{<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr>System.out.println("yes");<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr>return<wbr><wbr><wbr><wbr><wbr>b+=88;<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>}<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>catch(Exception<wbr><wbr><wbr><wbr><wbr>e)<br><wbr><wbr><wbr><wbr>{<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr>System.out.println("error<wbr><wbr><wbr><wbr><wbr>:<wbr><wbr><wbr><wbr><wbr>"<wbr><wbr><wbr><wbr><wbr>+<wbr><wbr><wbr><wbr><wbr>e);<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>}<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>finally<br><wbr><wbr><wbr><wbr>{<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr>if(b>25)<br><wbr><wbr><wbr><wbr><wbr>{<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr>System.out.println("b>25<wbr><wbr><wbr><wbr><wbr>:<wbr><wbr><wbr><wbr><wbr>"+b);<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr>}<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr>System.out.println("finally");<wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr>return<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
|
分享到:
相关推荐
在Java中当try、finally语句中包含return语句时,执行情况到底是怎样的,finally中的代码是否执行,大家众说纷纭,有的说会执行,有的说不会执行,到底哪种说法正确,下面我们来详细讨论下
finally语句块与return的执行关系
Java finally语句到底是在return之前还是之后执行?Java finally执行深度剖析,具体看这篇博文:http://blog.csdn.net/lanxuezaipiao/article/details/16922895,这是里面相关的源码,欢迎大家下载使用。
在Java的异常机制中,如果finally中含有return语句,则try和catch中的return语句将会被JVM忽视
主要介绍了Java中finally和return的关系实例解析,总结了二者的关系,然后分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
Java语言finally语句详解,finally到底是在return之前还是之后执行.zip
Condition 3: try中有异常,try-catch-finally里都没有return ,finally 之后有个returntry中有异常以后,根据
主要介绍了Java异常处理中同时有finally和return语句的执行问题,首先确定的是一般finally语句都会被执行...然后,需要的朋友可以参考下
第二:finally里面不建议放return语句,根据需要,return语句可以放在try和catch里面和函数的后。可行的做法有四: 1、return语句只在函数后出现一次。 2、return语句仅在try和catch里面都出现。 3、...
NULL 博文链接:https://seaizon.iteye.com/blog/2066983
主要介绍了关于Java中try finally return语句的执行顺序浅析,需要的朋友可以参考下
下面小编就为大家带来一篇浅谈Java finally语句到底是在return之前还是之后执行(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
我们知道return语句用在某一个方法中,一是用于返回函数的执行结果,二是用于返回值为void类型的函数中,仅仅是一个return语句(return ;),此时用于结束方法的执行,也即此return后的语句将不会被执行,当然,这种...
一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。...43、Java中的异常处理机制的简单原理和应用。 28 等等........
## 三.finally代码块和finalize()方法有什么区别? 无论是否抛出异常,finally代码块都会执行,它主要是用来释放应用占用的资源。finalize()方法是Object类的一个protected方法,它是在对象被垃圾回收之前由Java...
8. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗? 9. 类 ExampleA 继承 Exception,类 ExampleB 继承ExampleA。 10. 常见的 RuntimeException 有哪些? 11. Java常见异常有哪些 四、并发...
43、Java中的异常处理机制的简单原理和应用。 28 44、请写出你最常见到的5个runtime exception。 28 45、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出...
1、下列对Java中的继承描述错误的说法是(C)。 A. 子类至少有一个基类 B. 子类可作为另一个子类的基类 C. 子类除了包含它直接定义的属性外,还包含其父类的私有属性 D. 子类继承父类的方法访问权限保持不变 2...
try, catch,finally ,return 执行顺序 100 异常的处理办法之二,声明异常: throws子句 101 方法重写中声明异常原则 102 异常的处理办法之三,手动抛出异常,throw子句 103 自定义异常 103 使用异常机制建议 104 ...
Java计算文件MD5值(支持大文件) package com.hthl.xxtd; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.security.MessageDigest; import org....