咱們知道return語句用在某一個方法中,一是用於返回函數的執行結果,二是用於返回值爲void類型的函數中,僅僅是一個return語句(return ;),此時用於結束方法的執行,也即此return後的語句將不會被執行,固然,這種狀況下return語句後不能再有其它的語句了。 函數
public static int print() { int c = 1; try { c++; System.out.println("try執行中..."); return c+100; //--------1 } catch (Exception e) { e.printStackTrace();
//return c; //--------4 } finally { c++; System.out.println("finally執行中..."); return c; //--------2 } //return c; //---------3 }
程序執行的結果爲:spa
run: try執行中... finally執行中... 3 成功構建 (總時間: 0 秒)
注意,2與3位置處的return語句只能有一個,而且二、三、4中必須有一個return語句,若是2出執行後方法就結束了,3處的語句得不到執行。code
try語句塊執行到1處時,會將會將函數的返回值存放到另一個臨時變量(不一樣與c的變量,它的值爲102)中,因爲未發生異常,緊接着將會執行finally語句塊,2處又遇到一個語句塊,並將返回值存放到臨時變量(值爲3)中,最終返回的是此處的臨時變量的值,此處return執行完成後,該方法結束。 blog
public static int print() { int c = 1; try { c++; System.out.println(c); System.out.println("try"); return c+100; //--------1 }finally { c++; System.out.println(c); System.out.println("finally"); } }
上述代碼中finally語句塊中沒有return語句,函數最終返回的是第一個臨時變量的值,也即102,執行結果以下:io
run: try finally 102 成功構建 (總時間: 0 秒)