method


方法

System.out.println(): 系統的一個類(類似自己寫的HelloWorld)+System下的一個輸出對象 +一個方法(println())。調用系統類里面的標准輸出對象out中的println()方法。

Java方法是語句的集合,它們在一起執行一個功能。

  1. 方法是解決一類問題的步驟的有序組合

  2. 方法包含於類或對象中

  3. 方法在程序中被創建,在其他地方被引用

設計方法的原則:方法的本意是功能塊,就是實現某個功能的語句塊的集合。我們設計方法的時候,最好保持方法的原子性,就是一個方法只能完成一個功能,這樣有利於我們后期的擴展

package com.study.method;

public class Demo01 {
    //main方法
    //修飾符(public static)+ 返回值(void void表示不返回東西) main方法執行完就結束了
    public static void main(String[] args) {
        int sum = add(1, 2);
        System.out.println(sum);
        test();
    }
    //加法 需要返回相加后的值,給方法取名add,加一些參數a,b
    //直接調用add調不了,加一個static,使其成為類變量
    public static int add(int a,int b){
        return a+b;  //返回a+b
    }
    public static void test(){ //void代表空的意思,返回一個空 方法名為test 加static調用
        for (int i = 0; i <= 1000; i++) {
            if(i%5==0){
                System.out.print(i+"\t");
            }
            if(i%(5*3)==0){
                //System.out.println();
                System.out.print("\n");
            }
        }
        //main方法要時刻保持簡潔干凈,盡量把一些公共模塊都提取到外面通過方法調用的形式來進行調用
}
}

Java的方法類似於其他語言的函數,是一段用來完成特定功能的代碼片段,一般情況下,定義一個方法包含以下語法:

方法包含一個方法頭和一個方法體

修飾符(可以有多個public、static、final等) 返回值類型(int、void) 方法名(參數類型 參數名){

...

方法體

...

return 返回值;

}

  1. 修飾符:可選的(可寫可不寫),告訴編譯器如何調用該方法,定義了該方法的訪問類型。
  2. 返回值類型:有些方法執行所需的操作,但沒有返回值。這種情況下,returnValueType是關鍵字void。
  3. 方法名:是方法的實際名稱,方法名和參數表共同構成方法簽名。
  4. 參數:參數像是陽光占位符,當方法被調用時,傳遞值給參數,這個值被稱為實參或變量。參數列表是指方法的參數類型、順序和參數的個數,參數是可選的,方法可以不包含任何參數。
  5. 參數類型:形式參數:在方法被調用時用於接收外界輸入的數據。(定義方法的時候隨便編的一些參數)

​ 實參:調用方法時實際傳給方法的數據。

方法的重載

重載就是在一個類中,有相同的函數名稱,但形參不同的函數。

  1. 方法名稱必須相同。

  2. 參數列表必須不同(個數不同、或類型不同、參數排列順序不同等)。

  3. 方法的返回類型可以相同,也可以不相同。

  4. 僅僅返回類型不同不足以成為方法的重載。

方法名稱相同時,編譯器會根據調用方法的參數個數、參數類型等去逐個匹配,以選擇對應的方法,如 匹配失敗,則編譯器報錯。

package com.study.method;

public class Demo01 {
    //main方法
    //修飾符(public static)+ 返回值(void void表示不返回東西) main方法執行完就結束了
    public static void main(String[] args) {
      //  int sum = add(1, 2); // 通過此語句調用add方法,把1和2傳遞進去,最后返回一個sum,實際調用給它傳遞的參數,即為實參
        //int sum = add(10.0, 20.0);
        double sum = add(10.1, 5.6);
        System.out.println(sum);
     //   test();
    }
    //加法 需要返回相加后的值,給方法取名add,加一些參數a,b
    //直接調用add調不了,加一個static,使其成為類變量
    public static int add(int a,int b){ //形式參數,用來定義作用的,需要接收兩個值才能進行計算
        return a+b;  //返回a+b
    }
    //方法重載 double類型的數相加
    public static int add(double a,double b){
        double result =a+b;
        return (int)result;  //強制轉換,返回整型
    }
    public static void test(){ //void代表空的意思,返回一個空 方法名為test 加static調用
        for (int i = 0; i <= 1000; i++) {
            if(i%5==0){
                System.out.print(i+"\t");
            }
            if(i%(5*3)==0){
                //System.out.println();
                System.out.print("\n");
            }

        }

        //main方法要時刻保持簡潔干凈,盡量把一些公共模塊都提取到外面通過方法調用的形式來進行調用

}
}

命令行傳參

有時候你希望運行一個程序的時候再給它傳遞信息。這要靠傳遞命令行參數給main()函數實現。

java、javac、javadoc可以在doc窗口中的命令行窗口去操作,java程序也可以

package com.study.method;

public class Demo03 {
    public static void main(String[] args) {
        //args.length  數組長度
        for(int i = 0;i <args.length;i++){
            System.out.println("args["+i+"]"+args[i]); //當前第幾個參數的值是多少

        }
    }
}

通過Terminal打開命令行,編譯文件(Javac+包的路徑)

截圖

截圖

通過Doc窗口命令行編譯:

  1. 通過javac Demo03生成class文件,編譯的時候不用加包名。
  2. 通過java命令執行,要退到src目錄下才能執行,執行的時候需要加上包名。

注意:出現編碼GBK的不可映射字符的解決辦法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM