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

java中的return關(guān)鍵字使用解讀

 更新時(shí)間:2023年08月01日 15:53:20   作者:SSS4362  
這篇文章主要介紹了java中的return關(guān)鍵字使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

return的作用

a.返回方法的返回值(運(yùn)行結(jié)果)

具體表現(xiàn): 返回不被void關(guān)鍵字修飾的方法的返回值

語法: return 返回值;

注意:返回值類型需要與方法名前面的數(shù)據(jù)類型保持一致

示例代碼如下:

import java.util.Scanner;
public class Practice {
    public static void main(String[] args) {
        int year=2020;
        if(isLeapYear(year)){
            System.out.println(year+"是閏年");
        }else{
            System.out.println(year+"是平年");
        }
    }
    //在isLeapYear是返回實(shí)參傳過來的年是否是閏年的結(jié)果,若是,則返回true,否則返回false
    public static  boolean isLeapYear(int year){
        if(year%400==0||(year%4==0&&year%100!=0)){
            return true;
        }
        return false;
    }
}

示例代碼截圖如下所示:

b.結(jié)束當(dāng)前方法

語法為: return;

必須要在方法體里頭書寫才會(huì)生效

示例代碼如下所示:

public class Practice {
    public static void main(String[] args) {
        //當(dāng)輸入第10句堅(jiān)持就是勝利時(shí),就結(jié)束這個(gè)程序
        // 此時(shí)我們可以在main方法里面使用return關(guān)鍵字
        int i=0;
       while(true){
           System.out.println("堅(jiān)持就是勝利"+(++i));
           if(i==10){
               System.out.println("此時(shí)程序結(jié)束!!!");
               return;
           }
       }
    }
}

示例代碼截圖如下所示

return關(guān)鍵字常見問題

編譯器如何判定非void修飾的方法的返回值是否合理???

1.核心判斷依據(jù)

任意情況下該方法都有返回值,

2.例如如下所示代碼

是會(huì)運(yùn)行成功,還是會(huì)報(bào)錯(cuò)呢?

public class Practice {
    public static void main(String[] args) {
        System.out.println(test());
    }
    public static int test(){
        boolean flag=true;
        if(flag){
            return 1;
        }
    }
}

解答:在idea中編譯通過不了,提示Missing return statement(沒有返回語句)

原因如下:

  • 編譯器不知道flag的值,也就是說if語句在編譯器眼中是可能運(yùn)行也可能不運(yùn)行
  • 也就是說可能會(huì)有返回值,可能也沒有返回值。
  • 因此不符合任何條件下都有返回值這個(gè)要求,因此就會(huì)提示沒有返回語句

3.那么如何解決這個(gè)問題呢?

3.1 第一種,{}里面(循環(huán)、分支啥的)的內(nèi)容用變量去進(jìn)行接收,然后返回變量的值

語法

public static 變量數(shù)據(jù)類型 test(){
  變量數(shù)據(jù)類型 變量名=默認(rèn)值;
  boolean flag=true;
  if(flag){
    變量名=特定值;
  }
  return 變量名;  
}

對之前的錯(cuò)誤代碼進(jìn)行改進(jìn)的結(jié)果如下所示:

public class Practice {
    public static void main(String[] args) {
        System.out.println(test());
    }
    public static int test(){
        int result=55;
        //定義一個(gè)變量來接收返回的結(jié)果
        boolean flag=true;
        if(flag){
            result=100;
        }
        return result;
    }
}

3.2 第二種,{}里面和外面都有返回值

public static 變量數(shù)據(jù)類型 test(){
  boolean flag=true;
  if(flag){
   return 數(shù)值1;
  }
  return 數(shù)值2;  
  //數(shù)值1和數(shù)值2的數(shù)據(jù)類型應(yīng)與變量數(shù)據(jù)類型保持一致
}

對之前的錯(cuò)誤代碼進(jìn)行改進(jìn)的結(jié)果如下所示:

public class Practice {
    public static void main(String[] args) {
        System.out.println(test());
    }
    public static int test(){
        //if里面外面均有返回值,此時(shí)編譯器就不用擔(dān)心有可能無返回值的情況了
        boolean flag=true;
        if(flag){
           return 100;
        }
        return 55;
    }
}

return后面是否可以寫其他語句???

分析

當(dāng)return的作用為返回方法的運(yùn)行結(jié)果時(shí)

以下代碼是否會(huì)報(bào)錯(cuò)?

public class Practice {
    public static void main(String[] args) {
        System.out.println(test());
    }
    public static int test(){
        return 66;
        System.out.println("查看是否報(bào)錯(cuò)");
    }
}
//此題會(huì)報(bào)錯(cuò)

答:

會(huì)報(bào)錯(cuò),因?yàn)榘凑照碚f當(dāng)return所在語句運(yùn)行完成后,意味著該次方法調(diào)用語句完成,而return后面的語句壓根就沒有執(zhí)行的可能。

因此在編譯器編譯的過程中,會(huì)報(bào)錯(cuò),報(bào)錯(cuò)提示你應(yīng)該把不可訪問(多余)的語句給去掉。

當(dāng)return的作用為結(jié)束當(dāng)前方法時(shí)

以下代碼是否會(huì)報(bào)錯(cuò)

public class Practice {
    public static void main(String[] args) {
        System.out.println("專注能有效提高做事效率!!!");
        return;
        System.out.println("科學(xué)表明");
    }
}

答:

會(huì)報(bào)錯(cuò),因?yàn)榘凑照碚f使用return關(guān)鍵字結(jié)束當(dāng)前方法后,意味著該方法(緊鄰著的)后面的語句不可能有機(jī)會(huì)去運(yùn)行,因此編譯器會(huì)給出錯(cuò)誤提示Unreachable statement(不可訪問的語句),因此此時(shí)return后面也不能寫其他語句。

總結(jié)

無論是返回方法的運(yùn)行結(jié)果還是結(jié)束當(dāng)前方法,后面均不可以寫其他語句

return所在語句后面不可以寫其他語句。(其他語句和return在同一個(gè){}里面的情況)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何通過自定義spring?invalidator注解校驗(yàn)數(shù)據(jù)合法性

    如何通過自定義spring?invalidator注解校驗(yàn)數(shù)據(jù)合法性

    這篇文章主要介紹了如何通過自定義spring?invalidator注解校驗(yàn)數(shù)據(jù)合法性,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • java適配器模式之萬物擬人化

    java適配器模式之萬物擬人化

    本文詳細(xì)介紹了什么是適配器模式,適配器模式的種類以及各種類的詳細(xì)講解等,需要學(xué)習(xí)該知識點(diǎn)的小伙伴可以參考這篇文章
    2021-08-08
  • 基于SpringBoot實(shí)現(xiàn)自動(dòng)裝配返回屬性的設(shè)計(jì)思路

    基于SpringBoot實(shí)現(xiàn)自動(dòng)裝配返回屬性的設(shè)計(jì)思路

    這篇文章主要介紹了基于SpringBoot實(shí)現(xiàn)自動(dòng)裝配返回屬性,這里涉及到的技術(shù)知識點(diǎn)有注解解析器,為什么用ResponseBodyAdvice這里解析?不在Filter,Interceptors,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-03-03
  • Java結(jié)構(gòu)型設(shè)計(jì)模式之享元模式示例詳解

    Java結(jié)構(gòu)型設(shè)計(jì)模式之享元模式示例詳解

    享元模式(FlyWeight?Pattern),也叫蠅量模式,運(yùn)用共享技術(shù),有效的支持大量細(xì)粒度的對象,享元模式就是池技術(shù)的重要實(shí)現(xiàn)方式。本文將通過示例詳細(xì)講解享元模式,感興趣的可以了解一下
    2022-09-09
  • idea使用Mybatis逆向工程插件詳情

    idea使用Mybatis逆向工程插件詳情

    這篇文章主要介紹了idea使用Mybatis逆向工程插件詳情,首先使用mybatis連接數(shù)據(jù)庫接著添加連接的mysql的信息,測試鏈接等過程,更多過程了解請參考下面文章的詳細(xì)內(nèi)容
    2022-01-01
  • Java中自定義異常詳解及實(shí)例代碼

    Java中自定義異常詳解及實(shí)例代碼

    這篇文章主要介紹了Java中自定義異常詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Java文件目錄下載并打包成ZIP壓縮包

    Java文件目錄下載并打包成ZIP壓縮包

    這篇文章主要介紹了在Java中如何實(shí)現(xiàn)文件夾、文件目錄的遞歸下載并打包成ZIP壓縮包,文中的示例代碼講解詳細(xì),有需要的可以參考下
    2024-10-10
  • Feign調(diào)用傳輸文件異常的解決

    Feign調(diào)用傳輸文件異常的解決

    這篇文章主要介紹了Feign調(diào)用傳輸文件異常的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • JDK輸入命令Javac報(bào)錯(cuò)的解決方法

    JDK輸入命令Javac報(bào)錯(cuò)的解決方法

    相信很多人都經(jīng)歷過配置環(huán)境變量失敗的經(jīng)歷,尤其是很多時(shí)候明明按照老師教的步驟或者教程上的方法循規(guī)守矩配置卻還是出錯(cuò),下面我們來解決一個(gè)非常蹊蹺的問題---輸入Java和Java -version都沒問題,但是輸入Javac報(bào)錯(cuò),感興趣的朋友一起看看吧
    2023-11-11
  • 解決Nacos成功啟動(dòng)但是無法訪問 (Connection refused)

    解決Nacos成功啟動(dòng)但是無法訪問 (Connection refused)

    這篇文章主要介紹了解決Nacos成功啟動(dòng)但是無法訪問 (Connection refused)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論

永春县| 高尔夫| 康定县| 陆川县| 磐安县| 涪陵区| 土默特右旗| 夹江县| 墨竹工卡县| 黑龙江省| 呼图壁县| 临安市| 万盛区| 陇南市| 永平县| 和硕县| 柳林县| 米脂县| 巴南区| 姜堰市| 天津市| 满城县| 米脂县| 老河口市| 筠连县| 申扎县| 威海市| 遵化市| 吉木萨尔县| 临高县| 西乌珠穆沁旗| 伊川县| 宁晋县| 合川市| 海原县| 田林县| 和田市| 闽清县| 韩城市| 故城县| 厦门市|