public class TestTry {
public static void main(String[] args) {
System.out.println(test());//为什么打印 1?
}
private static int test()
{
int i = 1;
try {
return i;
} catch (Exception e) {
}
finally
{
i++;
}
return 0;
}
public static void main(String[] args) {
System.out.println(test());//为什么打印 1?
}
private static int test()
{
int i = 1;
try {
return i;
} catch (Exception e) {
}
finally
{
i++;
}
return 0;
}
}
数返回值是当时运行到return这行时候整个return 表达式的结果,也就是当时i的值。
而不是到了return再去执行finally,然后回过头来再去运行return 表达式,求当时(finally以后)表达式的值
http://topic.csdn.net/u/20111009/19/dc661ee7-ab58-4ee3-931d-93a7630d18f2.html