<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Java基礎(chǔ)入門篇——方法和重載

          共 6276字,需瀏覽 13分鐘

           ·

          2023-08-01 11:01

          點擊上方“Java進階學(xué)習(xí)交流”,進行關(guān)注

          后臺回復(fù)“Java”即可獲贈Java學(xué)習(xí)資料

          何日平胡虜,良人罷遠征。

              前面幾篇文章用Java帶大家一起了解了幾個游戲小項目,感興趣的小伙伴可以點擊文章觀摩下,手把手教你用Java打造一款簡單故事書(上篇)手把手教你用Java打造一款簡單故事書(下篇)、手把手教你用Java打造一款簡單考試系統(tǒng)(上篇)、手把手教你用Java打造一款簡單考試系統(tǒng)(下篇)、手把手帶你用Java打造一款對對碰游戲(上篇)、手把手帶你用Java打造一款對對碰游戲(下篇)、手把手帶你用Java實現(xiàn)點燈游戲(上篇)、手把手帶你用Java實現(xiàn)點燈游戲(下篇),接下來的幾篇文章是關(guān)于Java基礎(chǔ)的,希望對大家的學(xué)習(xí)有幫助,歡迎大家在討論區(qū)留言。

          一、什么是方法

          1.簡單來說方法就是一段可以被重復(fù)調(diào)用的代碼塊。對于一些復(fù)雜的代碼,如果希望重復(fù)使用這些代碼,做到隨時都可以用,就把這些代碼放在大括號({})中,自定義一個名字。需要使用這些代碼時,使用這個名字調(diào)用就可以。

          2.方法的語法格式

          修飾符 返回值類型 方法名([參數(shù)類型 參數(shù)名1,參數(shù)類型 參數(shù)名2,...]){執(zhí)行語句...return 返回值;}

          語法格式的具有說明:

          修飾符:方法修飾符比較多,對訪問權(quán)限進行限定的,現(xiàn)在階段的有public static兩個關(guān)鍵字。

          返回值類型:方法最終的結(jié)果數(shù)據(jù)是什么類型。

          方法名:自定義的名稱,命名規(guī)則和變量一樣。

          參數(shù)類型:用在調(diào)用方法時傳入的參數(shù)的數(shù)據(jù)類型。

          參數(shù)名:是一個變量,用在接受調(diào)用方法傳入的數(shù)據(jù)。

          return關(guān)鍵字:結(jié)束方法的執(zhí)行,并將這個返回值還給調(diào)用處。

          返回值:方法最終的結(jié)果數(shù)據(jù)。

          需要注意一點就是“參數(shù)類型 參數(shù)名1,參數(shù)類型 參數(shù)名2”這個是叫做參數(shù)列表,它的作用是方法被調(diào)用時需要接受的參數(shù)。如果方法不接受任何參數(shù),參數(shù)列表就是空的。方法的返回值一定是方法聲明的返回值類型,如果方法的返回值類型聲明為void,說明方法沒有返回值,這時return就可以省略掉。

          3.定義一個求兩個整數(shù)和方法:

          代碼如下所示:

          public static void main(String[] args) {// TODO Auto-generated method stub Scanner scan = new Scanner(System.in);  int a = scan.nextInt();  int b = scan.nextInt();  int add_num = sum(a,b);//調(diào)用sum方法  System.out.println(add_num);  }//類的方法--定義一個求兩個整數(shù)的和,接受兩個參數(shù)n和mpublic static int sum(int n, int m) {  int sum = n + m;    return sum;}

          輸出的結(jié)果是:

          5611

          從上面代碼我們可以看出,接受用戶輸入的兩個數(shù)a和b,定義一個方法求兩個整數(shù)的和,分別用于接受調(diào)用方法的傳入的n和m,把用戶輸入的a的值傳給參數(shù)n,b的值傳給參數(shù)m,定義一個int類型變量sum進行兩個數(shù)的相加,通過return返回計算兩個整數(shù)和相加。在main方法中,調(diào)用sum方法,獲得兩個整數(shù)的和的值,打印輸出兩個整數(shù)和的值。


          二、方法的重載

          1.同一個類中的兩個或兩個以上的方法可以有相同的名字,只要它們的參數(shù)聲明不同即可,就是方法重載。

          2.當一個重載方法被調(diào)用時,Java 根據(jù)參數(shù)的類型、參數(shù)的個數(shù)、參數(shù)的順序來確定實際調(diào)用的是重載方法的哪一個版本,只有形式參數(shù)與調(diào)用參數(shù)相匹配的方法被執(zhí)行。

          3.通過一個小案例分析方法的重載:

          public static void main(String[] args) {// TODO Auto-generated method stub Scanner scan = new Scanner(System.in);  int a = scan.nextInt();  int b = scan.nextInt();  int add_num1 = sum1(a,b);//調(diào)用sum1方法  System.out.println("兩個整數(shù)的和值"+add_num1);    int c = scan.nextInt();  int d = scan.nextInt();  int e = scan.nextInt();  int add_num2 = sum2(c,d,e);//調(diào)用sum2方法  System.out.println("三個整數(shù)的和值"+add_num2);    double x = scan.nextDouble();  double y = scan.nextDouble();  double z = scan.nextDouble();  double add_num3 = sum3(x,y,z);//調(diào)用sum3方法  System.out.println("三個小數(shù)的和值"+add_num3);}//sum1方法,求兩個整數(shù)和的值接受兩個參數(shù),a和bpublic static int sum1(int a, int b) {  int sum = a + b;    return sum;}//sum2方法,求三個整數(shù)和的值接受三個參數(shù),c d epublic static int sum2(int c, int d,int e) {  int sum = c + d + e;    return sum;}//sum3方法,求三個小數(shù)和的值接受三個參數(shù),x y zpublic static double sum3(double x, double y, double z) {  double sum = x + y + z;  return sum;}

          運行的結(jié)果是:

          12兩個整數(shù)的和值3123三個整數(shù)的和值61.21.51.3三個小數(shù)的和值4.0

          從上面我們可以看出如果每個方法的名稱都不相同,在調(diào)用方法就很難哪種情況去調(diào)用哪種方法,解決這個問題就用java的重載的方法。java允許定義多個名稱相同的方法,但是它的參數(shù)類型和個數(shù)不同。把這個例子修改成java的方法重載:

          public static void main(String[] args) {// TODO Auto-generated method stub Scanner scan = new Scanner(System.in);  int a = scan.nextInt();  int b = scan.nextInt();  int add_num1 = sum(a,b);//調(diào)用sum方法  System.out.println("兩個整數(shù)的和值"+add_num1);    int c = scan.nextInt();  int d = scan.nextInt();  int e = scan.nextInt();  int add_num2 = sum(c,d,e);//調(diào)用sum方法  System.out.println("三個整數(shù)的和值"+add_num2);    double x = scan.nextDouble();  double y = scan.nextDouble();  double z = scan.nextDouble();  double add_num3 = sum(x,y,z);//調(diào)用sum方法  System.out.println("三個小數(shù)的和值"+add_num3);}//sum方法,求兩個整數(shù)和的值接受兩個參數(shù),a和bpublic static int sum(int a, int b) {  int sum = a + b;    return sum;}//sum方法,求三個整數(shù)和的值接受三個參數(shù),c d epublic static int sum(int c, int d,int e) {  int sum = c + d + e;    return sum;}//sum方法,求三個小數(shù)和的值接受三個參數(shù),x y zpublic static double sum(double x, double y, double z) {  double sum = x + y + z;  return sum;}

          我們可以發(fā)現(xiàn)方法重載它需要滿足兩個條件:

          第一個是方法名一樣;

          第二個是參數(shù)類型或參數(shù)的個數(shù)不同。


          三、方法遞歸

          1.方法的遞歸簡單而言一個方法內(nèi)調(diào)用自己本身。

          2.使用遞歸實現(xiàn)九九乘法表:

          public static void main(String[] args) {// TODO Auto-generated method stubn(9); } public static void n(int i) {     if (i == 1) {       System.out.println("1*1=1 ");     } else {       n(i - 1);       for (int j = 1; j <= i; j++) {         System.out.print(j + "*" + i + "=" + j * i + " ");       }       System.out.println();     } }

          運行的結(jié)果如下所示:

          1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

          遞歸方法是怎么執(zhí)行的呢?遞歸的方式調(diào)用如下所示:

          n(9)n(8)for(i=9)n(7)for(i=8)n(6)for(i=7)n(5)for(i=6)n(4)for(i=5)n(3)for(i=4)n(2)for(i=3)n(1)for(i=2)


          四、總結(jié)

          本文介紹了方法、方法的重載、方法的遞歸。介紹方法的格式,語法格式的具體說明通過一個求兩個整數(shù)和的值案例來分析方法的用法。介紹方法重載是允許定義多個相同的方法名,但它的參數(shù)類型和參數(shù)個數(shù)需要不同。遞歸的方法是自己調(diào)用自己,通過一個九九乘法表了解遞歸方式的調(diào)用。希望大家通過本文的學(xué)習(xí),能夠幫助到你!

          ------------------- End -------------------

          往期精彩文章推薦:

          歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群

          萬水千山總是情,點個【在看】行不行

          瀏覽 51
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青青草高清无码 | 亚洲无码精品国产成人漫画 | 黄网站免费看欧美 | 黄色网址五月天 | 五月天亚洲AV |