黑马程序员技术交流社区
标题:
求教一个try{return}finally{}中的执行顺序
[打印本页]
作者:
范中俊
时间:
2014-11-28 21:41
标题:
求教一个try{return}finally{}中的执行顺序
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
这个的证明代码怎么写呀?
作者:
Quasimodo
时间:
2014-11-28 22:28
会执行,是在return之前执行的
代码就在try{}里面return一个数, 在finally {}里面写上打印一句话.
然后调用方法并打印,就可以看到先打印的finally里面的话 然后再打印return的数了
作者:
Afridoce
时间:
2014-11-29 10:17
学习了。。。。
作者:
as604049322
时间:
2014-11-29 11:38
public class test {
public static void main(String[] args){
System.out.println(print());
}
public static String print(){
try{
System.out.println("try");
return "返回语句";
}finally{
System.out.println("finally");
}
}
}
复制代码
运行结果:
try
finally
返回语句
作者:
lwh316658735
时间:
2014-11-29 12:49
finally 里的代码会被执行的,
作者:
lwh316658735
时间:
2014-11-29 12:51
finally 里的代码会被执行的,如果你想亲身体会的话 可以
try{
return 1
}finally{
return 2
}
用下列代码尝试下,亲身体验印象是最深刻的!
作者:
superjiejie
时间:
2014-11-29 22:01
这是一个经典的java基础面试题
code 在return中间执行 不会弄那个代码 ~直接打了
public static void main(String args[]){
system.out.println(new Test().test());
}
public static int test(){
int i = 1;
try {
return i;
} finally{
++i;
}
}
} 结果为1 同理 就知道这个题的答案
作者:
娱尘
时间:
2014-11-29 22:24
7楼的答案是正确的,我们今天刚好讲到这里,code 在return中间执行
作者:
g124989452
时间:
2014-11-29 22:33
finally会在return之间执行,当程序走到return时,会首先建立返回路径,再执行finally,finally执行后会重回到return,然后返回。
作者:
夜海
时间:
2014-11-30 12:56
会在return 中间执行
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2