public int returnTest()
{
int i = 2;
try
{
System.out.println("遇到return后面语句块不被执行 跳出try执行finally");
System.out.println("i="+i);//这里的i = 2;
return i;
}
finally
{
System.out.println("先执行了" + ++i);
}
}
我在你的代码里return的前面加了一句话输出i的值,打印的结果是:
遇到return后面语句块不被执行 跳出try执行finally
i=2
先执行了3
也就是说try{}代码块中return i所返回的i值是2
在try{}finally{}代码块中,finally{}中的代码一定会执行。
我还是没看懂你的疑问是什么?
|