关于Java中try-catch-finally-return语句的思考
生活随笔
收集整理的這篇文章主要介紹了
关于Java中try-catch-finally-return语句的思考
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我們知道return語句用在某一個方法中,一是用于返回函數(shù)的執(zhí)行結果,二是用于返回值為void類型的函數(shù)中,僅僅是一個return語句(return ;),此時用于結束方法的執(zhí)行,也即此return后的語句將不會被執(zhí)行,當然,這種情況下return語句后不能再有其它的語句了。?
public static int print() {int c = 1;try {c++;System.out.println("try執(zhí)行中...");return c+100; //--------1} catch (Exception e) {e.printStackTrace();//return c; //--------4} finally {c++;System.out.println("finally執(zhí)行中...");return c; //--------2 }//return c; //---------3}
程序執(zhí)行的結果為:
run: try執(zhí)行中... finally執(zhí)行中... 3 成功構建 (總時間: 0 秒)注意,2與3位置處的return語句只能有一個,并且2、3、4中必須有一個return語句,如果2出執(zhí)行后方法就結束了,3處的語句得不到執(zhí)行。
?try語句塊執(zhí)行到1處時,會將會將函數(shù)的返回值存放到另外一個臨時變量(不同與c的變量,它的值為102)中,由于未發(fā)生異常,緊接著將會執(zhí)行finally語句塊,2處又遇到一個語句塊,并將返回值存放到臨時變量(值為3)中,最終返回的是此處的臨時變量的值,此處return執(zhí)行完成后,該方法結束。
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語句,函數(shù)最終返回的是第一個臨時變量的值,也即102,執(zhí)行結果如下:
run: try finally 102 成功構建 (總時間: 0 秒)?
轉載于:https://www.cnblogs.com/yueliming/p/3470694.html
總結
以上是生活随笔為你收集整理的关于Java中try-catch-finally-return语句的思考的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET MVC 5 学习教程:D
- 下一篇: ubuntu 12.04 配置LAMP