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進階學習交流 」,可以通過以下二維碼關注。轉載本文請聯系 Java進階學習交流 公眾號。