不是return过后就退出了吗,finally可以继续执行,那为什么finally之后的也能执行呢

来源:1-3 Java中通过案例学习 try...catch...finally

慕粉18817939419

2016-07-20 18:47

public int test3(){
		int divider=10;
		int result=100;
		try{
			while(divider>-1){
				divider--;
				result=result+100/divider;
			}
			return result;
		}catch(Exception e){
			e.printStackTrace();
			System.out.println("循环抛出异常了!!!");
		}finally{
			System.out.println("这是finally!!!哈哈!!!");
			System.out.println("我是result,我的值是:"+result);
		}
		System.out.println("我是test3!我运行完了!表想我!~");
		return 1111;
	}


写回答 关注

2回答

  • 欧巴么么哒
    2016-07-20 19:37:53
    已采纳

    return的常用作用有以下两种
    一种是返回参数所用的关键字,假如一个有返回值的方法执行完了之后需要返回一个参数,示例:public string functionTest(){
            String a = "abc";
            return a;
    }
    那么这个方法被调用之后就会返回一个值为abc的字符串,string result = functionTest();

    第二种用法是,代码执行到此处终止。
    比如当代码执行到某个地方会出现几种结果,然后其中一种结果就不能执行后续代码,这时候在那里加上一个return就可以终止后面的代码执行。

    慕粉1881... 回复欧巴么么哒

    原来如此,这下明白了,非常感谢

    2016-07-21 14:52:41

    共 6 条回复 >

  • Scorpion_
    2016-07-20 19:10:41

    Finally代码块的优先级比较高,不论TryCatch代码块如何运行,最后都要执行Finally代码块

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409777 学习 · 4339 问题

查看课程

相似问题