最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如果在try里面執(zhí)行return還會(huì)不會(huì)執(zhí)行finally

 更新時(shí)間:2021年01月21日 09:59:00   作者:編程愛(ài)好者丶  
這篇文章主要介紹了Java如果在try里面執(zhí)行return,那么還會(huì)不會(huì)執(zhí)行finally,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前言

       我們都知道,finally在捕獲異常的操作中,總是最后并且一定會(huì)執(zhí)行的。那么,如果我在使用try finally的時(shí)候,如果try 給了一個(gè)return,那么還會(huì)不會(huì)執(zhí)行finally呢?這里就來(lái)試一試

finally

       Finally代碼不管有沒(méi)有異常發(fā)生它都會(huì)執(zhí)行。

       沒(méi)有異常發(fā)生的時(shí)候,在try內(nèi)的代碼執(zhí)行結(jié)束后,執(zhí)行finally。

       如果發(fā)生了異常并且給catch捕獲,則在執(zhí)行完catch之后執(zhí)行finally。

       如果有異常且未被捕獲,則在異常被拋給上層之前執(zhí)行。

       事實(shí)上,不用try catch也可以直接執(zhí)行 try finally。那么如果我在try 里面 使用 return 會(huì)怎樣呢?

代碼如下

public class Test {
 public static void main(String[] args) {
  int result = fun();
  System.out.println("result = " + result);
 }
 public static int fun(){
  int ret = 0;
  try{
   return ret;
  }finally {
   ret = 5;
   System.out.println("ret = " + ret);
  }
 }
}

       測(cè)試的結(jié)果是,finally里面的代碼依然會(huì)被執(zhí)行。但是,雖然給ret賦值了5。但返回的值最終還是0。所以,即使在try里面使用了return,也依然會(huì)執(zhí)行finally。但是finally無(wú)法改變r(jià)eturn的值。

       因?yàn)樵趫?zhí)行的過(guò)程中, try執(zhí)行到return,會(huì)先把ret的值保存在一個(gè)臨時(shí)變量中,等到finally執(zhí)行完畢之后才會(huì)返回。因此finally無(wú)法改變最終的返回結(jié)果

       那么,如果我在finally里面也執(zhí)行一個(gè)return呢?結(jié)果會(huì)怎樣?

代碼如下

public class Test {
 public static void main(String[] args) {
  int result = fun();
  System.out.println("result = " + result);
 }
 public static int fun(){
  int ret = 0;
  try{
   return ret;
  }finally {
   ret = 5;
   return ret;
  }
 }
}

       這個(gè)時(shí)候try里面的return就會(huì)丟失。只會(huì)執(zhí)行finally里面的return

到此這篇關(guān)于Java如果在try里面執(zhí)行return,那么還會(huì)不會(huì)執(zhí)行finally的文章就介紹到這了,更多相關(guān)java try執(zhí)行return內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot前后端json數(shù)據(jù)交互的全過(guò)程記錄

    SpringBoot前后端json數(shù)據(jù)交互的全過(guò)程記錄

    現(xiàn)在大多數(shù)互聯(lián)網(wǎng)項(xiàng)目都是采用前后端分離的方式開(kāi)發(fā),下面這篇文章主要給大家介紹了關(guān)于SpringBoot前后端json數(shù)據(jù)交互的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • springboot根據(jù)實(shí)體類(lèi)生成表的實(shí)現(xiàn)方法

    springboot根據(jù)實(shí)體類(lèi)生成表的實(shí)現(xiàn)方法

    本文介紹了如何通過(guò)SpringBoot工程引入SpringDataJPA,并通過(guò)實(shí)體類(lèi)自動(dòng)生成數(shù)據(jù)庫(kù)表的過(guò)程,包括常見(jiàn)問(wèn)題解決方法,感興趣的可以了解一下
    2024-09-09
  • 基于Spring Boot DevTools實(shí)現(xiàn)開(kāi)發(fā)過(guò)程優(yōu)化

    基于Spring Boot DevTools實(shí)現(xiàn)開(kāi)發(fā)過(guò)程優(yōu)化

    這篇文章主要介紹了基于Spring Boot DevTools實(shí)現(xiàn)開(kāi)發(fā)過(guò)程優(yōu)化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • springboot自定義日志注解的實(shí)現(xiàn)

    springboot自定義日志注解的實(shí)現(xiàn)

    本文主要介紹了springboot自定義日志注解的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • SpringBoot攔截器的使用

    SpringBoot攔截器的使用

    這篇文章主要給大家分享的是SpringBoot攔截器的使用,攔截器通常通過(guò)動(dòng)態(tài)代理的方式來(lái)執(zhí)行。攔截器的生命周期由IoC容器管理,可以通過(guò)注入等方式來(lái)獲取其他Bean的實(shí)例,使用更方便,下面文章的詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • Intellij IDEA官方最完美編程字體Mono使用

    Intellij IDEA官方最完美編程字體Mono使用

    這篇文章主要介紹了Intellij IDEA官方最完美編程字體Mono使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 一文詳解Springboot中filter的原理與注冊(cè)

    一文詳解Springboot中filter的原理與注冊(cè)

    這篇文章主要為大家詳細(xì)介紹了Springboot中filter的原理與注冊(cè)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們掌握SpringBoot有一定的幫助,需要的可以參考一下
    2023-02-02
  • Java輸出Hello World完美過(guò)程解析

    Java輸出Hello World完美過(guò)程解析

    當(dāng)我們學(xué)習(xí)一門(mén)編程語(yǔ)言的時(shí)候,我們都會(huì)先學(xué)如何輸出Hello World!本文通過(guò)幾個(gè)例子給大家介紹輸出Hello World的代碼,感興趣的朋友一起看看吧
    2021-06-06
  • 如何從eureka獲取服務(wù)的ip和端口號(hào)進(jìn)行Http的調(diào)用

    如何從eureka獲取服務(wù)的ip和端口號(hào)進(jìn)行Http的調(diào)用

    這篇文章主要介紹了如何從eureka獲取服務(wù)的ip和端口號(hào)進(jìn)行Http的調(diào)用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java循環(huán)調(diào)用多個(gè)timer實(shí)現(xiàn)定時(shí)任務(wù)

    Java循環(huán)調(diào)用多個(gè)timer實(shí)現(xiàn)定時(shí)任務(wù)

    這篇文章主要介紹了Java循環(huán)調(diào)用多個(gè)timer實(shí)現(xiàn)定時(shí)任務(wù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論

长泰县| 波密县| 沛县| 望都县| 墨脱县| 太原市| 衡阳县| 威信县| 古丈县| 绥宁县| 龙口市| 大港区| 新平| 柞水县| 汕尾市| 五指山市| 永春县| 双鸭山市| 永吉县| 丹巴县| 罗田县| 唐河县| 错那县| 淳安县| 吉水县| 凤翔县| 资溪县| 木兰县| 花垣县| 秦安县| 玉田县| 襄城县| 宣城市| 连南| 绥江县| 石台县| 双城市| 青浦区| 高州市| 盐源县| 得荣县|