日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java基礎(chǔ)入門篇——方法和重載

一、什么是方法

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供盤山網(wǎng)站建設(shè)、盤山做網(wǎng)站、盤山網(wǎng)站設(shè)計(jì)、盤山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、盤山企業(yè)網(wǎng)站模板建站服務(wù),10年盤山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

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

2.方法的語法格式

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

語法格式的具有說明:

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

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

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

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

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

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

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

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

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

代碼如下所示:

 
 
 
 
  1. public static void main(String[] args) {
  2. // TODO Auto-generated method stub
  3.  Scanner scan = new Scanner(System.in);
  4.   int a = scan.nextInt();
  5.   int b = scan.nextInt();
  6.   int add_num = sum(a,b);//調(diào)用sum方法
  7.   System.out.println(add_num);
  8.   
  9. }
  10. //類的方法--定義一個(gè)求兩個(gè)整數(shù)的和,接受兩個(gè)參數(shù)n和m
  11. public static int sum(int n, int m) {
  12.   int sum = n + m;  
  13.   return sum;
  14. }

輸出的結(jié)果是:

 
 
 
 
  1. 5
  2. 6
  3. 11

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

二、方法的重載

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

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

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

 
 
 
 
  1. public static void main(String[] args) {
  2. // TODO Auto-generated method stub
  3.  Scanner scan = new Scanner(System.in);
  4.   int a = scan.nextInt();
  5.   int b = scan.nextInt();
  6.   int add_num1 = sum1(a,b);//調(diào)用sum1方法
  7.   System.out.println("兩個(gè)整數(shù)的和值"+add_num1);
  8.   
  9.   int c = scan.nextInt();
  10.   int d = scan.nextInt();
  11.   int e = scan.nextInt();
  12.   int add_num2 = sum2(c,d,e);//調(diào)用sum2方法
  13.   System.out.println("三個(gè)整數(shù)的和值"+add_num2);
  14.   
  15.   double x = scan.nextDouble();
  16.   double y = scan.nextDouble();
  17.   double z = scan.nextDouble();
  18.   double add_num3 = sum3(x,y,z);//調(diào)用sum3方法
  19.   System.out.println("三個(gè)小數(shù)的和值"+add_num3);
  20. }
  21. //sum1方法,求兩個(gè)整數(shù)和的值接受兩個(gè)參數(shù),a和b
  22. public static int sum1(int a, int b) {
  23.   int sum = a + b;  
  24.   return sum;
  25. }
  26. //sum2方法,求三個(gè)整數(shù)和的值接受三個(gè)參數(shù),c d e
  27. public static int sum2(int c, int d,int e) {
  28.   int sum = c + d + e;  
  29.   return sum;
  30. }
  31. //sum3方法,求三個(gè)小數(shù)和的值接受三個(gè)參數(shù),x y z
  32. public static double sum3(double x, double y, double z) {
  33.   double sum = x + y + z;
  34.   return sum;
  35. }

運(yùn)行的結(jié)果是:

 
 
 
 
  1. 1
  2. 2
  3. 兩個(gè)整數(shù)的和值3
  4. 1
  5. 2
  6. 3
  7. 三個(gè)整數(shù)的和值6
  8. 1.2
  9. 1.5
  10. 1.3
  11. 三個(gè)小數(shù)的和值4.0

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

 
 
 
 
  1. public static void main(String[] args) {
  2. // TODO Auto-generated method stub
  3.  Scanner scan = new Scanner(System.in);
  4.   int a = scan.nextInt();
  5.   int b = scan.nextInt();
  6.   int add_num1 = sum(a,b);//調(diào)用sum方法
  7.   System.out.println("兩個(gè)整數(shù)的和值"+add_num1);
  8.   
  9.   int c = scan.nextInt();
  10.   int d = scan.nextInt();
  11.   int e = scan.nextInt();
  12.   int add_num2 = sum(c,d,e);//調(diào)用sum方法
  13.   System.out.println("三個(gè)整數(shù)的和值"+add_num2);
  14.   
  15.   double x = scan.nextDouble();
  16.   double y = scan.nextDouble();
  17.   double z = scan.nextDouble();
  18.   double add_num3 = sum(x,y,z);//調(diào)用sum方法
  19.   System.out.println("三個(gè)小數(shù)的和值"+add_num3);
  20. }
  21. //sum方法,求兩個(gè)整數(shù)和的值接受兩個(gè)參數(shù),a和b
  22. public static int sum(int a, int b) {
  23.   int sum = a + b;  
  24.   return sum;
  25. }
  26. //sum方法,求三個(gè)整數(shù)和的值接受三個(gè)參數(shù),c d e
  27. public static int sum(int c, int d,int e) {
  28.   int sum = c + d + e;  
  29.   return sum;
  30. }
  31. //sum方法,求三個(gè)小數(shù)和的值接受三個(gè)參數(shù),x y z
  32. public static double sum(double x, double y, double z) {
  33.   double sum = x + y + z;
  34.   return sum;
  35. }

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

第一個(gè)是方法名一樣;

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

三、方法遞歸

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

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

 
 
 
 
  1. public static void main(String[] args) {
  2. // TODO Auto-generated method stub
  3. n(9); 
  4. }
  5.  public static void n(int i) { 
  6.     if (i == 1) { 
  7.       System.out.println("1*1=1 "); 
  8.     } else { 
  9.       n(i - 1); 
  10.       for (int j = 1; j <= i; j++) { 
  11.         System.out.print(j + "*" + i + "=" + j * i + " "); 
  12.       } 
  13.       System.out.println(); 
  14.     } 
  15. }

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

 
 
 
 
  1. 1*1=1 
  2. 1*2=2 2*2=4 
  3. 1*3=3 2*3=6 3*3=9 
  4. 1*4=4 2*4=8 3*4=12 4*4=16 
  5. 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
  6. 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
  7. 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
  8. 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
  9. 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)用如下所示:

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

四、總結(jié)

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

本文轉(zhuǎn)載自微信公眾號(hào)「 Java進(jìn)階學(xué)習(xí)交流  」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系 Java進(jìn)階學(xué)習(xí)交流  公眾號(hào)。


分享題目:Java基礎(chǔ)入門篇——方法和重載
URL地址:http://www.dlmjj.cn/article/djjsihi.html