1. 程式人生 > >JAVA初級(五)方法--方法的基礎使用,可變引數介紹

JAVA初級(五)方法--方法的基礎使用,可變引數介紹

我是導航

1,什麼是方法?

2,方法怎麼定義?怎麼寫?如何呼叫?引數又是什麼?怎麼用?

 

一,什麼是方法?

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

  • 方法是解決一類問題的步驟的有序組合
  • 方法包含於類或物件中
  • 方法在程式中被建立,在其他地方被引用--來自菜鳥教程

通俗一點來說就是你用JAVA來輸出hello world,你是不是就得寫System.out.println("hello world"); 然後在另外一次地方在輸出1遍,是不是又得複製1行出來.然後我要你在100處輸出'hello world'玩意,你是不是就要複製100遍這個.然後有一天我要你只輸出hello不要輸出world你是不是就得改100遍.

但是如果你用方法.你就只需要改1遍,就能把這100個'hello wordl'全部修改成hello.

這就是方法,由一堆語句組成完成一個功能,編寫一遍即可處處使用,修改一次即可處處同時修改.

二,方法怎麼定義?怎麼寫?

1,方法如何定義?

修飾符 返回值型別 方法名([型別 引數名稱1],[型別引數名稱2]....){

方法體

}

就這麼定義,[]表示可選.

修飾符可以說就是這個方法的可呼叫範圍.具體介紹完介面後再說

返回值型別就是這個方法執行完後的結果.如果沒有結果那麼就寫void表示沒有返回值.

名稱自定義,但要符合規範.這樣方便閱讀,我們寫出來的程式碼不僅要給自己看,別人也要能看懂.命名規則一般是首單詞的首字母小寫

後面的單次首字母大寫,也就是駝峰式小寫

方法體,表示這個方法要執行的功能

這個printHelloWorld,功能很明顯.他就是輸出了一句話"hello world"

 那麼這個方法我們要如何用呢?

很簡單,方法名();這樣呼叫了

  public static void main(String[] args) {
        printHelloWorld();
    }

執行就能輸出hello, 多複製幾遍,就能多執行幾次. 修改printHelloWorld,

public static void printHelloWorld(){
        System.out.println("hello");
    }

然後在執行一次main方法,就能全部修改成hello了.

-->方法的好處想必能夠體會了.

如果有返回值呢?

比如我要這個方法計算出1+1,然後再拿這個結果在另外一個地方繼續計算.怎麼做?

 public static int printHelloWorld(){
        int i = 1+1;
        return i;
    }

這樣就能獲得一個能計算1+1的方法了.

return是什麼意思?就是中止方法,  return 後面的i就是獲取這個方法你要的結果

然後在執行main方法,你會發現好像沒反應。

那是因為你執行了這個方法,但是沒有去拿它的結果做事情啊

所以

public static void main(String[] args) {
        int i = printHelloWorld();
        System.out.println(i);
    }

這樣定義一個和方法的返回值型別一樣的變數來接收它,然後在進行下一步

執行後輸出1.

-->至此,返回值的基礎使用就介紹完了.

那麼括號內的引數是什麼?怎麼用?

括號內的引數可以理解成,你要用積木搭1+1 但是你沒有1只有+,所以這時候這個1是不是就的找人來給你.這個從別的地方獲取的東西就稱為引數,也能說是未知數

當然這是我自己的理解

那麼引數怎麼來玩呢?

 public static int getSum(int i,int j) {
        int sum = i + j;
        return sum;
    }

這段程式碼的功能就是計算任意兩個數的和.

那麼如何用呢?

 public static void main(String[] args) {
        int sum = getSum(1,3);
        System.out.println(sum);
    }

就這麼用,在括號裡面寫陣列,用’,‘隔開,

執行,結果輸出4,如果你要計算別的  就換成別的數字.

-->解析:這個方法它能不能自己計算出我們想要的和?明顯是不能的,你如果不給它數字,它就給你報錯.你數字都不給我怎麼算嘛?

比如你這麼寫 getSum(); 直接報錯,不讓你運行了.

只要你在()內寫了引數,就表示你想要執行這個方法就必須給我引數,而且型別要對.!!!

那麼引數的使用應該能瞭解一些了吧,就是這個方法執行某一個功能必須藉助外來的工具才能完成時.這個工具就能稱為引數.

在java裡面就用方法(型別 名稱1,型別 名稱2)來表示.

拓展:可變引數

1,可變引數是什麼?

假如一個方法最多需要10個引數,它們的型別都一樣,表示的意義也差不多一樣.但有時候我要7個,你是不是要寫7個引數?但有時候我一個都不要.你又不用寫引數.  這是不是很麻煩,可變引數便解決了這個問題

可變引數則能滿足這麼一種情況.根據需要決定我要不要給你引數

2,那麼可變引數怎麼玩?

 public static void main(String[] args) {
        int sum = getSum(1,3);
        System.out.println(sum);
    }


    public static int getSum(int...num) {
        int sum =0;
        for(int i = 0;i<num.length;i++){
            sum = sum+num[i];
        }
        return sum;
    }

觀察getSum方法

可變引數是int...num 它是固定的寫法  型別...名稱  中間3個點是固定的

這樣這個方法是不是就升級了,它升級成了,輸入N個數,求這N個數的和.不再是兩個數之和了

同時也能發現,可變引數.實質它是一個數組

執行:輸出4

可變引數要求:

1,定義:型別...名稱   中間三個點

2,它必須是最後一個引數 比如getSum(int j,int...num)是對的 getSum(int...sum,int i)是錯的。這麼寫會報錯

 

總結:

1,方法是什麼?怎麼玩?-->用自己的話總結一波

2,可變引數的概念

 

下回介紹方法中的開頭部分,修飾符.