自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java基礎入門篇——方法和重載

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

[[353049]]

一、什么是方法

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

2.方法的語法格式

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

語法格式的具有說明:

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

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

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

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

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

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

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

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

3.定義一個求兩個整數(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. //類的方法--定義一個求兩個整數(shù)的和,接受兩個參數(shù)n和m 
  10. public static int sum(int n, int m) { 
  11.   int sum = n + m;   
  12.   return sum

輸出的結(jié)果是:

  1. 11 

從上面代碼我們可以看出,接受用戶輸入的兩個數(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.通過一個小案例分析方法的重載:

  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("兩個整數(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("三個整數(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("三個小數(shù)的和值"+add_num3); 
  20. //sum1方法,求兩個整數(shù)和的值接受兩個參數(shù),a和b 
  21. public static int sum1(int a, int b) { 
  22.   int sum = a + b;   
  23.   return sum
  24. //sum2方法,求三個整數(shù)和的值接受三個參數(shù),c d e 
  25. public static int sum2(int c, int d,int e) { 
  26.   int sum = c + d + e;   
  27.   return sum
  28. //sum3方法,求三個小數(shù)和的值接受三個參數(shù),x y z 
  29. public static double sum3(double x, double y, double z) { 
  30.   double sum = x + y + z; 
  31.   return sum

運行的結(jié)果是:

  1. 兩個整數(shù)的和值3 
  2. 三個整數(shù)的和值6 
  3. 1.2 
  4. 1.5 
  5. 1.3 
  6. 三個小數(shù)的和值4.0 

從上面我們可以看出如果每個方法的名稱都不相同,在調(diào)用方法就很難哪種情況去調(diào)用哪種方法,解決這個問題就用java的重載的方法。java允許定義多個名稱相同的方法,但是它的參數(shù)類型和個數(shù)不同。把這個例子修改成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("兩個整數(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("三個整數(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("三個小數(shù)的和值"+add_num3); 
  20. //sum方法,求兩個整數(shù)和的值接受兩個參數(shù),a和b 
  21. public static int sum(int a, int b) { 
  22.   int sum = a + b;   
  23.   return sum
  24. //sum方法,求三個整數(shù)和的值接受三個參數(shù),c d e 
  25. public static int sum(int c, int d,int e) { 
  26.   int sum = c + d + e;   
  27.   return sum
  28. //sum方法,求三個小數(shù)和的值接受三個參數(shù),x y z 
  29. public static double sum(double x, double y, double z) { 
  30.   double sum = x + y + z; 
  31.   return sum

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

第一個是方法名一樣;

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

三、方法遞歸

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

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

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

運行的結(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é)

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

本文轉(zhuǎn)載自微信公眾號「 Java進階學習交流  」,可以通過以下二維碼關注。轉(zhuǎn)載本文請聯(lián)系 Java進階學習交流  公眾號。

 

責任編輯:武曉燕 來源: Java進階學習交流
相關推薦

2020-11-16 10:19:33

Java

2022-01-21 11:26:19

Java結(jié)構(gòu)語句if語句

2022-03-28 09:31:58

for循環(huán)語句

2022-01-27 09:35:45

whiledo-while循環(huán)Java基礎

2020-11-13 07:22:46

Java基礎While

2020-11-09 10:19:05

Java

2022-03-10 09:33:21

Java數(shù)組初始化

2020-10-22 13:33:48

Java基礎入門

2023-04-11 10:13:04

Java運算符反碼

2021-01-28 08:34:30

Java對象定義

2023-03-06 10:03:05

Java運行機制

2020-12-24 08:36:14

JavaJava基礎

2020-10-21 08:16:37

Java基礎入門篇

2011-01-18 17:00:31

Postfix入門

2017-09-12 10:26:47

springbootmaven結(jié)構(gòu)

2023-03-13 10:01:27

Java注釋

2023-04-03 10:04:36

Java變量類型

2020-10-29 13:40:52

Java基礎

2020-10-21 08:25:03

Java基礎入門

2023-03-27 10:04:27

數(shù)據(jù)類型浮點型布爾型
點贊
收藏

51CTO技術(shù)棧公眾號