黑马程序员技术交流社区
标题:
还记得这道"java国际测试题"嘛? 来温故知新吧!
[打印本页]
作者:
noiary
时间:
2014-9-3 20:20
标题:
还记得这道"java国际测试题"嘛? 来温故知新吧!
/*
写出程序运行结果
*/
class Test {
public static String output = "";
public static void foo(int i) {
try {
if(i == 1)
throw new Exception();
output += "1";
}
catch(Exception e) {
output += "2";
return;
}
finally {
output += "3";
}
output += "4";
}
public static void main(String[] args) {
foo(0);
System.out.println(output);
foo(1);
System.out.println(output);
}
}
复制代码
作者:
孤鸢
时间:
2014-9-3 20:29
啊,见到异常头晕.....攻克ing
作者:
笑脸迷人
时间:
2014-9-3 21:27
恩,这题有意思的,要是将foo方法的返回值修改为int 然后在finally里面加上return 语句就更有意思了
作者:
卖艺人
时间:
2014-9-3 21:28
我刚刚看完这个,简直666啊
作者:
许愿じ☆VE杰
时间:
2014-9-3 22:46
学习了~
作者:
Imp_x
时间:
2014-9-3 23:43
进来学习一下
作者:
happymouse
时间:
2014-9-4 00:19
运行结果是:
134
13423
第二个结果我还真愣了一下,后来发现是上一次的运行结果没有清空导致的。
这个程序只要记得finally是无论如何都要执行一般不会出错,大部分同学可能
会以为return后就不再执行finally里面的语句了。
作者:
wfaly
时间:
2014-9-6 15:39
学习了...Thanks
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2