廢人 發問時間: 電腦與網際網路程式設計 · 1 0 年前

傳值給函式? 函式回傳值?

private static void abc(int a , int b){}

呼叫時

{

int c=2,d=3;

abc(4,5); //傳值

abc(c,d); //傳參考

}

跟 return

哪裡不同?

老虎.老鼠傻傻搞不清楚  ̄▽ ̄||

1 個解答

評分
  • 1 0 年前
    最佳解答

    private static void abc(int a , int b){} //有兩個參數的建構子

    呼叫時

    {

    int c=2,d=3;

    abc(4,5); //傳值

    abc(c,d); //傳參考

    }

    上面呼叫的兩個函式是一樣的東西,都是傳入兩個為int型態的引數。

    當有return這個關鍵字時,其實你可以把這函式當做是一個可以合成的機器。當你丟入什麼素材(引數)時,他一定會合出個什麼東西還你(回傳);至於合出來的東西好不好,是不是你想要的東西,那就要看你這台機器(函式內的程式碼)做的好不好。

    public static String abc(String tiger, String rat)

    {

    String cat = tiger + rat; // 合成中...可以有更多的程式碼

    return cat; // 合成完畢, 回傳cat

    }

    abc("老虎","老鼠"); // 錯的呼叫法

    var = abc("老虎","老鼠"); // 正確

    沒有return這個關鍵字時其實也沒什麼大不同。同樣都是丟入素材(引數)然後再裡面加工(函式內的程式碼)。不同的地方只是他(函式)並沒有把合成完的結果回報(return)給你而已。

    public static void efg(String tiger, String rat)

    {

    String cat = tiger + rat; // 合成中...可以有更多的程式碼

    // 合成完畢, 但不做任何回傳

    }

    abc("老虎","老鼠"); // 正確

    var = abc("老虎","老鼠"); // 錯的呼叫法

    希望這樣說明你能了解且有幫到你

    豚仔

    參考資料:
還有問題?馬上發問,尋求解答。