java中try catch finally结构体的return问题

public static void main(String[] args) {
	System.out.println("结果:"+test());
}
public static int test(){
		int i=0;
		try{
			i=1;//1.1
			System.out.println("try:"+i);//1.2
			return i;//3.1
		}catch(Exception e){
			e.printStackTrace();
			i=2;
			System.out.println("catch:"+i);
		}finally{
			//2.1
			i=10;
			System.out.println("finally:"+i);
		}
		return -1;
		//打印结果
		//try:1
		//finally:10
		//结果:1
		//说明:第一部执行完后将i=1暂存起来然后执行finally中的代码,最后返回暂存的i值。
        //(finally中的i不会覆盖暂存的值)
}
发布了17 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qidaorenzhe/article/details/102915888
今日推荐