国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從零開始學(xué)習(xí) Java:簡單易懂的入門指南之方法(六)

這篇具有很好參考價值的文章主要介紹了從零開始學(xué)習(xí) Java:簡單易懂的入門指南之方法(六)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 方法概述

1.1 方法的概念

? 方法(method)是程序中最小的執(zhí)行單元

  • 注意:
    • 方法必須先創(chuàng)建才可以使用,該過程成為方法定義
    • 方法創(chuàng)建后并不是直接可以運行的,需要手動使用后,才執(zhí)行,該過程成為方法調(diào)用

2. 方法的定義和調(diào)用

2.1 無參數(shù)方法定義和調(diào)用

  • 定義格式:

    public static void 方法名 (   ) {
    	// 方法體;
    }
    
  • 范例:

    public static void method (    ) {
    	// 方法體;
    }
    
  • 調(diào)用格式:

    方法名();
    
  • 范例:

    method();
    
  • 注意:

    ? 方法必須先定義,后調(diào)用,否則程序?qū)箦e

2.3 無參數(shù)方法的練習(xí)

  • 需求:設(shè)計一個方法用于打印兩個數(shù)中的較大數(shù)
  • 思路:
    • ①定義一個方法,用于打印兩個數(shù)字中的較大數(shù),例如getMax()
    • ②方法中定義兩個變量,用于保存兩個數(shù)字
    • ③使用分支語句分兩種情況對兩個數(shù)字的大小關(guān)系進行處理
    • ④在main()方法中調(diào)用定義好的方法
  • 代碼:
public class MethodTest {
    public static void main(String[] args) {
        //在main()方法中調(diào)用定義好的方法
        getMax();
    }

    //定義一個方法,用于打印兩個數(shù)字中的較大數(shù),例如getMax()
    public static void getMax() {
        //方法中定義兩個變量,用于保存兩個數(shù)字
        int a = 10;
        int b = 20;

        //使用分支語句分兩種情況對兩個數(shù)字的大小關(guān)系進行處理
        if(a > b) {
            System.out.println(a);
        } else {
            System.out.println(b);
        }
    }
}

3. 帶參數(shù)方法定義和調(diào)用

3.1 帶參數(shù)方法定義和調(diào)用

  • 定義格式:

    參數(shù):由數(shù)據(jù)類型和變量名組成 - 數(shù)據(jù)類型 變量名

    參數(shù)范例:int a

    public static void 方法名 (參數(shù)1) {
    	方法體;
    }
    
    public static void 方法名 (參數(shù)1, 參數(shù)2, 參數(shù)3...) {
    	方法體;
    }
    
  • 范例:

    public static void isEvenNumber(int number){
        ...
    }
    public static void getMax(int num1, int num2){
        ...
    }
    
    • 注意:

      方法定義時,參數(shù)中的數(shù)據(jù)類型與變量名都不能缺少,缺少任意一個程序?qū)箦e
      
      方法定義時,多個參數(shù)之間使用逗號( ,)分隔
      
  • 調(diào)用格式:

    方法名(參數(shù));
    
    方法名(參數(shù)1,參數(shù)2);
    
  • 范例:

    isEvenNumber(10);
    
    getMax(10,20);
    
    • 方法調(diào)用時,參數(shù)的數(shù)量與類型必須與方法定義中的設(shè)置相匹配,否則程序?qū)箦e

3.2 形參和實參

  1. 形參:方法定義中的參數(shù)

? 等同于變量定義格式,例如:int number

  1. 實參:方法調(diào)用中的參數(shù)

? 等同于使用變量或常量,例如: 10 number

3.3 帶參數(shù)方法練習(xí)

  • 需求:設(shè)計一個方法用于打印兩個數(shù)中的較大數(shù),數(shù)據(jù)來自于方法參數(shù) }
  • 思路:
    • ①定義一個方法,用于打印兩個數(shù)字中的較大數(shù),例如getMax()
    • ②為方法定義兩個參數(shù),用于接收兩個數(shù)字
    • ③使用分支語句分兩種情況對兩個數(shù)字的大小關(guān)系進行處理
    • ④在main()方法中調(diào)用定義好的方法(使用常量)
    • ⑤在main()方法中調(diào)用定義好的方法(使用變量)
  • 代碼:
public class MethodTest {
    public static void main(String[] args) {
        //在main()方法中調(diào)用定義好的方法(使用常量)
        getMax(10,20);
        //調(diào)用方法的時候,人家要幾個,你就給幾個,人家要什么類型的,你就給什么類型的
        //getMax(30);
        //getMax(10.0,20.0);

        //在main()方法中調(diào)用定義好的方法(使用變量)
        int a = 10;
        int b = 20;
        getMax(a, b);
    }

    //定義一個方法,用于打印兩個數(shù)字中的較大數(shù),例如getMax()
    //為方法定義兩個參數(shù),用于接收兩個數(shù)字
    public static void getMax(int a, int b) {
        //使用分支語句分兩種情況對兩個數(shù)字的大小關(guān)系進行處理
        if(a > b) {
            System.out.println(a);
        } else {
            System.out.println(b);
        }
    }
}

4. 帶返回值方法的定義和調(diào)用

4.1 帶返回值方法定義和調(diào)用

  • 定義格式

    public static 數(shù)據(jù)類型 方法名 ( 參數(shù) ) { 
    	return 數(shù)據(jù) ;
    }
    
  • 范例

    public static boolean isEvenNumber( int number ) {           
    	return true ;
    }
    public static int getMax( int a, int b ) {
    	return  100 ;
    }
    
    • 注意:
      • 方法定義時return后面的返回值與方法定義上的數(shù)據(jù)類型要匹配,否則程序?qū)箦e
  • 調(diào)用格式

    方法名 ( 參數(shù) ) ;
    數(shù)據(jù)類型 變量名 = 方法名 ( 參數(shù) ) ;
    
  • 范例

    isEvenNumber ( 5 ) ;
    boolean  flag =  isEvenNumber ( 5 ); 
    
    • 注意:
      • 方法的返回值通常會使用變量接收,否則該返回值將無意義

4.2 帶返回值方法練習(xí)1

  • 需求:設(shè)計一個方法可以獲取兩個數(shù)的較大值,數(shù)據(jù)來自于參數(shù)

  • 思路:

    • ①定義一個方法,用于獲取兩個數(shù)字中的較大數(shù)
    • ②使用分支語句分兩種情況對兩個數(shù)字的大小關(guān)系進行處理
    • ③根據(jù)題設(shè)分別設(shè)置兩種情況下對應(yīng)的返回結(jié)果
    • ④在main()方法中調(diào)用定義好的方法并使用變量保存
    • ⑤在main()方法中調(diào)用定義好的方法并直接打印結(jié)果
  • 代碼:

    public class MethodTest {
        public static void main(String[] args) {
            //在main()方法中調(diào)用定義好的方法并使用變量保存
            int result = getMax(10,20);
            System.out.println(result);
    
            //在main()方法中調(diào)用定義好的方法并直接打印結(jié)果
            System.out.println(getMax(10,20));
        }
    
        //定義一個方法,用于獲取兩個數(shù)字中的較大數(shù)
        public static int getMax(int a, int b) {
            //使用分支語句分兩種情況對兩個數(shù)字的大小關(guān)系進行處理
            //根據(jù)題設(shè)分別設(shè)置兩種情況下對應(yīng)的返回結(jié)果
            if(a > b) {
                return a;
            } else {
                return b;
            }
        }
    }
    

4.3 帶返回值方法練習(xí)2

需求:

? 定義一個方法,求一家商場每個季度的營業(yè)額。根據(jù)方法結(jié)果再計算出全年營業(yè)額。

代碼示例:

package com.itheima.demo;

public class MethodDemo9 {
    public static void main(String[] args) {
        /*需求:定義一個方法,求一家商場每個季度的營業(yè)額。
        根據(jù)方法結(jié)果再計算出全年營業(yè)額。*/
        int sum1 = getSum(10, 20, 30);
        int sum2 = getSum(10, 20, 30);
        int sum3 = getSum(10, 20, 30);
        int sum4 = getSum(10, 20, 30);

        int sum = sum1 + sum2 + sum3 + sum4;
        System.out.println(sum);

    }

    //心得:
    //1.我要干嘛?  決定了方法體   每個季度的營業(yè)額
    //2.我干這件事情,需要什么才能完成? 決定了形參 需要三個月的營業(yè)額 a b c
    //3.我干完這件事情,看調(diào)用處是否需要使用方法的結(jié)果。   決定了返回值
    //如果需要使用,那么必須返回
    //如果不需要使用,可以返回也可以不返回
    public static int getSum(int month1,int month2,int month3){
        int sum = month1 + month2 + month3;
        //因為方法的調(diào)用處,需要繼續(xù)使用這個結(jié)果
        //所以我們必須要把sum返回
        return sum;
    }
}

4.4 帶返回值方法練習(xí)3

需求:

? 鍵盤錄入兩個圓的半徑(整數(shù)),比較兩個圓的面積。

代碼示例:

import java.util.Scanner;

public class MethodDemo10 {
    public static void main(String[] args) {
        //需求:鍵盤錄入兩個圓的半徑(整數(shù)),比較兩個圓的面積。
        //鍵盤錄入圓的半徑
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入圓的半徑");
        int radii1 = sc.nextInt();

        System.out.println("請輸入第二個圓的半徑");
        int radii2 = sc.nextInt();
        double area1 = getArea(radii1);
        double area2 = getArea(radii2);
        if(area1 > area2){
            System.out.println("第一個圓更大");
        }else{
            System.out.println("第二個圓更大");
        }
    }

    //心得:
    //1.我要干嘛?   求圓的面積
    //2.我干這件事情,需要什么才能完成?        半徑
    //3.方法的調(diào)用處,是否需要繼續(xù)使用方法的結(jié)果    要比較
    public static double getArea(int radii) {
        double area = 3.14 * radii * radii;
        return area;
    }
}

5. 方法的注意事項

5.1 方法的注意事項

  • 方法不能嵌套定義

    • 示例代碼:

      public class MethodDemo {
          public static void main(String[] args) {
      
          }
      
          public static void methodOne() {
      		public static void methodTwo() {
             		// 這里會引發(fā)編譯錯誤!!!
          	}
          }
      }
      
  • void表示無返回值,可以省略return,也可以單獨的書寫return,后面不加數(shù)據(jù)

    • 示例代碼:

      public class MethodDemo {
          public static void main(String[] args) {
      
          }
          public static void methodTwo() {
              //return 100; 編譯錯誤,因為沒有具體返回值類型
              return;	
              //System.out.println(100); return語句后面不能跟數(shù)據(jù)或代碼
          }
      }
      

5.2 方法的通用格式

  • 格式:

    public static 返回值類型 方法名(參數(shù)) {
       方法體; 
       return 數(shù)據(jù) ;
    }
    
  • 解釋:

    • public static 修飾符,目前先記住這個格式

      返回值類型 方法操作完畢之后返回的數(shù)據(jù)的數(shù)據(jù)類型

      ? 如果方法操作完畢,沒有數(shù)據(jù)返回,這里寫void,而且方法體中一般不寫return

      方法名 調(diào)用方法時候使用的標識

      參數(shù) 由數(shù)據(jù)類型和變量名組成,多個參數(shù)之間用逗號隔開

      方法體 完成功能的代碼塊

      return 如果方法操作完畢,有數(shù)據(jù)返回,用于把數(shù)據(jù)返回給調(diào)用者

  • 定義方法時,要做到兩個明確

    • 明確返回值類型:主要是明確方法操作完畢之后是否有數(shù)據(jù)返回,如果沒有,寫void;如果有,寫對應(yīng)的數(shù)據(jù)類型
    • 明確參數(shù):主要是明確參數(shù)的類型和數(shù)量
  • 調(diào)用方法時的注意:

    • void類型的方法,直接調(diào)用即可
    • 非void類型的方法,推薦用變量接收調(diào)用

6. 方法重載

6.1 方法重載

  • 方法重載概念

    方法重載指同一個類中定義的多個方法之間的關(guān)系,滿足下列條件的多個方法相互構(gòu)成重載

    • 多個方法在同一個類中
    • 多個方法具有相同的方法名
    • 多個方法的參數(shù)不相同,類型不同或者數(shù)量不同
  • 注意:

    • 重載僅對應(yīng)方法的定義,與方法的調(diào)用無關(guān),調(diào)用方式參照標準格式
    • 重載僅針對同一個類中方法的名稱與參數(shù)進行識別,與返回值無關(guān),換句話說不能通過返回值來判定兩個方法是否相互構(gòu)成重載
  • 正確范例:

    public class MethodDemo {
    	public static void fn(int a) {
        	//方法體
        }
        public static int fn(double a) {
        	//方法體
        }
    }
    
    public class MethodDemo {
    	public static float fn(int a) {
        	//方法體
        }
        public static int fn(int a , int b) {
        	//方法體
        }
    }
    
  • 錯誤范例:

    public class MethodDemo {
    	public static void fn(int a) {
        	//方法體
        }
        public static int fn(int a) { 	/*錯誤原因:重載與返回值無關(guān)*/
        	//方法體
        }
    }
    
    public class MethodDemo01 {
        public static void fn(int a) {
            //方法體
        }
    } 
    public class MethodDemo02 {
        public static int fn(double a) { /*錯誤原因:這是兩個類的兩個fn方法*/
            //方法體
        }
    }
    

6.2 方法重載練習(xí)

  • 需求:使用方法重載的思想,設(shè)計比較兩個整數(shù)是否相同的方法,兼容全整數(shù)類型(byte,short,int,long)

  • 思路:

    • ①定義比較兩個數(shù)字的是否相同的方法compare()方法,參數(shù)選擇兩個int型參數(shù)
    • ②定義對應(yīng)的重載方法,變更對應(yīng)的參數(shù)類型,參數(shù)變更為兩個long型參數(shù)
    • ③定義所有的重載方法,兩個byte類型與兩個short類型參數(shù)
    • ④完成方法的調(diào)用,測試運行結(jié)果
  • 代碼:

    public class MethodTest {
        public static void main(String[] args) {
            //調(diào)用方法
            System.out.println(compare(10, 20));
            System.out.println(compare((byte) 10, (byte) 20));
            System.out.println(compare((short) 10, (short) 20));
            System.out.println(compare(10L, 20L));
        }
    
        //int
        public static boolean compare(int a, int b) {
            System.out.println("int");
            return a == b;
        }
    
        //byte
        public static boolean compare(byte a, byte b) {
            System.out.println("byte");
            return a == b;
        }
    
        //short
        public static boolean compare(short a, short b) {
            System.out.println("short");
            return a == b;
        }
    
        //long
        public static boolean compare(long a, long b) {
            System.out.println("long");
            return a == b;
        }
    
    }
    

7.3 數(shù)組遍歷

  • 需求:設(shè)計一個方法用于數(shù)組遍歷,要求遍歷的結(jié)果是在一行上的。例如:[11, 22, 33, 44, 55]

  • 思路:

    • ①因為要求結(jié)果在一行上輸出,所以這里需要在學(xué)習(xí)一個新的輸出語句System.out.print(“內(nèi)容”);

      System.out.println(“內(nèi)容”); 輸出內(nèi)容并換行

      System.out.print(“內(nèi)容”); 輸出內(nèi)容不換行

      System.out.println(); 起到換行的作用

    • ②定義一個數(shù)組,用靜態(tài)初始化完成數(shù)組元素初始化

    • ③定義一個方法,用數(shù)組遍歷通用格式對數(shù)組進行遍歷

    • ④用新的輸出語句修改遍歷操作

    • ⑤調(diào)用遍歷方法

  • 代碼:

    public class Test1 {
        public static void main(String[] args) {
          /*  //先打印數(shù)據(jù),再進行換行
            System.out.println("aaa");
            //只打印不換行
            System.out.print("bbb");
            System.out.print("ddd");
            //不打印任何內(nèi)容,只換行
            System.out.println();
            System.out.print("cc");*/
            //設(shè)計一個方法用于數(shù)組遍歷,要求遍歷的結(jié)果是在一行上的。例如:[11, 22, 33, 44, 55]
            int[] arr = {1,2,3,4,5};
            printArr(arr);
        }
        //1.我要遍歷數(shù)組
        //2.需要什么?  數(shù)組
        //3.調(diào)用處是否需要使用方法的結(jié)果。
        public static void printArr(int[] arr){
            System.out.print("[");
            for (int i = 0; i < arr.length; i++) {
                if(i == arr.length - 1){
                    System.out.println(arr[i] + "]");
                }else{
                    System.out.print(arr[i] + ", ");
                }
            }
        }
    }
    

7.4 數(shù)組最大值

  • 需求:設(shè)計一個方法用于獲取數(shù)組中元素的最大值

  • 思路:

    • ①定義一個數(shù)組,用靜態(tài)初始化完成數(shù)組元素初始化
    • ②定義一個方法,用來獲取數(shù)組中的最大值,最值的認知和講解我們在數(shù)組中已經(jīng)講解過了
    • ③調(diào)用獲取最大值方法,用變量接收返回結(jié)果
    • ④把結(jié)果輸出在控制臺
  • 代碼:

    public class MethodTest02 {
        public static void main(String[] args) {
            //定義一個數(shù)組,用靜態(tài)初始化完成數(shù)組元素初始化
            int[] arr = {12, 45, 98, 73, 60};
    
            //調(diào)用獲取最大值方法,用變量接收返回結(jié)果
            int number = getMax(arr);
    
            //把結(jié)果輸出在控制臺
            System.out.println("number:" + number);
        }
    
        //定義一個方法,用來獲取數(shù)組中的最大值
        /*
            兩個明確:
                返回值類型:int
                參數(shù):int[] arr
         */
        public static int getMax(int[] arr) {
            int max = arr[0];
    
            for(int x=1; x<arr.length; x++) {
                if(arr[x] > max) {
                    max = arr[x];
                }
            }
            return max;
        }
    }
    

7.6 獲取索引

需求:

? 定義一個方法獲取數(shù)字,在數(shù)組中的索引位置,將結(jié)果返回給調(diào)用處,如果有重復(fù)的,只要獲取第一個即可。

代碼示例:

package com.itheima.demo;

public class Test4 {
    public static void main(String[] args) {
        //定義一個方法獲取數(shù)字,在數(shù)組中的索引位置,將結(jié)果返回給調(diào)用處
        //如果有重復(fù)的,只要獲取第一個即可

        int[] arr = {1,2,3,4,5};
        int index = contains(arr, 3);
        System.out.println(index);
    }

    //1. 我要干嘛?判斷數(shù)組中的某一個數(shù)是否存在
    //2. 需要什么?數(shù)組 數(shù)字
    //3. 調(diào)用處是否需要繼續(xù)使用?返回
    //獲取number在arr中的位置
    public static int contains(int[] arr, int number) {
        //遍歷arr得到每一個元素
        for (int i = 0; i < arr.length; i++) {
            //拿著每一個元素跟number比較
            if(arr[i] == number){
                //如果相等,表示找到了
                return i;
            }
        }
        //當循環(huán)結(jié)束之后,如果還不能返回索引,表示數(shù)組中不存在該數(shù)據(jù)
        //可以返回-1
        return -1;
    }
}

后記
????????美好的一天,到此結(jié)束,下次繼續(xù)努力!欲知后續(xù),請看下回分解,寫作不易,感謝大家的支持??! ??????
文章來源地址http://www.zghlxwxcb.cn/news/detail-628478.html

到了這里,關(guān)于從零開始學(xué)習(xí) Java:簡單易懂的入門指南之方法(六)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包