您好,登錄后才能下訂單哦!
本篇內容介紹了“Java基礎入門篇之如何理解方法和重載”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一、什么是方法
1.簡單來說方法就是一段可以被重復調用的代碼塊。對于一些復雜的代碼,如果希望重復使用這些代碼,做到隨時都可以用,就把這些代碼放在大括號({})中,自定義一個名字。需要使用這些代碼時,使用這個名字調用就可以。
2.方法的語法格式
修飾符 返回值類型 方法名([參數類型 參數名1,參數類型 參數名2,...]){ 執行語句 ... return 返回值; }
語法格式的具有說明:
修飾符:方法修飾符比較多,對訪問權限進行限定的,現在階段的有public static兩個關鍵字。
返回值類型:方法最終的結果數據是什么類型。
方法名:自定義的名稱,命名規則和變量一樣。
參數類型:用在調用方法時傳入的參數的數據類型。
參數名:是一個變量,用在接受調用方法傳入的數據。
return關鍵字:結束方法的執行,并將這個返回值還給調用處。
返回值:方法最終的結果數據。
需要注意一點就是“參數類型 參數名1,參數類型 參數名2”這個是叫做參數列表,它的作用是方法被調用時需要接受的參數。如果方法不接受任何參數,參數列表就是空的。方法的返回值一定是方法聲明的返回值類型,如果方法的返回值類型聲明為void,說明方法沒有返回值,這時return就可以省略掉。
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_num = sum(a,b);//調用sum方法 System.out.println(add_num); } //類的方法--定義一個求兩個整數的和,接受兩個參數n和m public static int sum(int n, int m) { int sum = n + m; return sum; }
輸出的結果是:
5 6 11
從上面代碼我們可以看出,接受用戶輸入的兩個數a和b,定義一個方法求兩個整數的和,分別用于接受調用方法的傳入的n和m,把用戶輸入的a的值傳給參數n,b的值傳給參數m,定義一個int類型變量sum進行兩個數的相加,通過return返回計算兩個整數和相加。在main方法中,調用sum方法,獲得兩個整數的和的值,打印輸出兩個整數和的值。
二、方法的重載
1.同一個類中的兩個或兩個以上的方法可以有相同的名字,只要它們的參數聲明不同即可,就是方法重載。
2.當一個重載方法被調用時,Java 根據參數的類型、參數的個數、參數的順序來確定實際調用的是重載方法的哪一個版本,只有形式參數與調用參數相匹配的方法被執行。
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);//調用sum1方法 System.out.println("兩個整數的和值"+add_num1); int c = scan.nextInt(); int d = scan.nextInt(); int e = scan.nextInt(); int add_num2 = sum2(c,d,e);//調用sum2方法 System.out.println("三個整數的和值"+add_num2); double x = scan.nextDouble(); double y = scan.nextDouble(); double z = scan.nextDouble(); double add_num3 = sum3(x,y,z);//調用sum3方法 System.out.println("三個小數的和值"+add_num3); } //sum1方法,求兩個整數和的值接受兩個參數,a和b public static int sum1(int a, int b) { int sum = a + b; return sum; } //sum2方法,求三個整數和的值接受三個參數,c d e public static int sum2(int c, int d,int e) { int sum = c + d + e; return sum; } //sum3方法,求三個小數和的值接受三個參數,x y z public static double sum3(double x, double y, double z) { double sum = x + y + z; return sum; }
運行的結果是:
1 2 兩個整數的和值3 1 2 3 三個整數的和值6 1.2 1.5 1.3 三個小數的和值4.0
從上面我們可以看出如果每個方法的名稱都不相同,在調用方法就很難哪種情況去調用哪種方法,解決這個問題就用java的重載的方法。java允許定義多個名稱相同的方法,但是它的參數類型和個數不同。把這個例子修改成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);//調用sum方法 System.out.println("兩個整數的和值"+add_num1); int c = scan.nextInt(); int d = scan.nextInt(); int e = scan.nextInt(); int add_num2 = sum(c,d,e);//調用sum方法 System.out.println("三個整數的和值"+add_num2); double x = scan.nextDouble(); double y = scan.nextDouble(); double z = scan.nextDouble(); double add_num3 = sum(x,y,z);//調用sum方法 System.out.println("三個小數的和值"+add_num3); } //sum方法,求兩個整數和的值接受兩個參數,a和b public static int sum(int a, int b) { int sum = a + b; return sum; } //sum方法,求三個整數和的值接受三個參數,c d e public static int sum(int c, int d,int e) { int sum = c + d + e; return sum; } //sum方法,求三個小數和的值接受三個參數,x y z public static double sum(double x, double y, double z) { double sum = x + y + z; return sum; }
我們可以發現方法重載它需要滿足兩個條件:
第一個是方法名一樣;
第二個是參數類型或參數的個數不同。
三、方法遞歸
1.方法的遞歸簡單而言一個方法內調用自己本身。
2.使用遞歸實現九九乘法表:
public static void main(String[] args) { // TODO Auto-generated method stub n(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(); } }
運行的結果如下所示:
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
遞歸方法是怎么執行的呢?遞歸的方式調用如下所示:
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)
“Java基礎入門篇之如何理解方法和重載”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。