try/catch/finally子句都不能单独使用,try…catch…/try…finally/ try…catch…finally
finally子句总是会执行
代码
package com.bjpowernode.chapter0101.demo01;
/*
* try/catch/finally子句都不能单独使用,try...catch../try..finally/ try...catch..finally
* finally子句总是会执行
*
*
*/
public class Test04 {
public static void main(String[] args) {
int result = m1(10);
System.out.println(result); //10
result = m2(10);
System.out.println(result); //11
}
private static int m2(int i) {
try {
return i;
} finally {
i++;
return i;
}
}
public static int m1(int xx){
try{
return xx;
}finally {
xx++;
}
/*
* 执行ruturn xx时,并没有立即执行return语句,而是把xx的值保存到临时变量中
* 执行finally子句,xx加1
* 再执行return语句,把临时变量的值返回
*/
}
}