返回型別

返回型別（return type）也稱為返回類型，是程序设计裡的詞語，會定義子程序或是方法在結束時所送出資料的資料類型。在許多编程语言裡（特別是像C语言、C++及Java等靜態類型系統的語言），在宣告函式時需要明確指定其返回型別。

以下是Java的例子：

public void setShuma(int n1, int n2) {
    Shuma = n1 + n2
}

public int getShuma() {
    return Shuma;
}

返回型別為，因此程式可以依此方式送出一個型別的值給呼叫它的程式。若函式沒有回傳值，有許多不同的標示方式，例如在許多程式語言中，會將回傳型別設定為：

public void returnNothing()

從函式中回傳值
一個函式在結束其所有的指令，執行到return指令，或是出現例外時，都會結束函式，回到呼叫它的程式執行執行。

在函式宣告時，可以指定函式的回傳型別。在函式中回傳值的方式依程式語言而不同，像Java語言可以用return指令來回傳值。

若函式宣告為void，就沒有回傳值，可以不用加上return指令，但有時也會使用。例如可以用return快速的從流程控制的方塊中離開，回到上一層程式。

return;

若針對函式宣告為void，return指令中又加上回傳值，編譯器會出現錯誤。

若沒有宣告為void的函式，需要有加上傳回值的return指令，如下：

return returnValue;

而傳回值的型別需要和函式中宣告的一致，例如函式宣告回傳boolean型態，就不能傳回integer型態。

例如在Rectangle類別中的getArea()方法，可以回傳一個整數：
    // A method for computing the area of the rectangle
    public int getArea() {
        return width * height;
    }
所回傳的整數是由計算而得的結果。

方法也可以回傳引用类型，例如在處理自行車物件的程式中，可能會有一個以下的方法：
    public Bicycle seeWhosFastest(Bicycle myBike, Bicycle yourBike,
                                  Environment env) {
        Bicycle fastest;
        // Code to calculate which bike is 
        // faster, given each bike's gear 
        // and cadence and given the 
        // environment (terrain and wind)
        return fastest;
    }

參考資料


Category:子程序
Category:带有Java代码示例的条目