簡體   English   中英

返回值是什么意思?

[英]What does it mean to return a value?

我對編程還很陌生,並且對返回值的確切含義感到困惑。 最初,我認為這意味着要輸出返回的值,但是當我在自己的代碼中嘗試執行此操作時,什么也沒發生。

class Class1 {

    public static int x = 3;

    public static int getX(){
        return x;
    }

    public static void main(String[] args){
        Class1.getX();
    }
}

這是我的意思的一個例子。 當我運行該程序時,沒有任何顯示。 考慮到這一點,我被認為返回一個值意味着另外的事情。 但是呢

簡單來說,這意味着將值返回給方法的調用者。

因此,在您的示例中,方法getXx的值返回給調用方,從而允許他們訪問它。

class Class1{

    static int x = 3;

    public static int getX(){
        return x;
    }

    public static void main(String args[]){
        int myX = Class1.getX(); // return the value to the caller...
        System.out.println(myX); // print the result to the console...
    }
}

返回值是方法彼此交談的一種方式

public void method1() {
    int value = 5 + method2(5);
    System.out.println(value);
}

public int method2(int param) {
    return param + 5;
}

這將打印15(將5發送到method2 ,該方法向其添加5並將結果返回給method1 ,該方法向其添加5並打印結果)。

Java返回值的副本-在這種情況下,它將復制值10並將其返回給method1 如果method2返回一個Object則它將返回該對象的引用的副本。 不同的語言對於方法返回具有不同的語義,因此在語言之間進行切換時請務必謹慎。 Java還復制傳遞給方法的參數的值-在這種情況下, method1復制值5並將其傳遞給method2

public void method1() {
    int value = 5;
    method2(value);
}

public void method2(int param) {
    param = param + 5;
}

valuemethod1是由未受影響的method2value之后仍等於5 method2執行),因為只有一個副本value被作為參數發送。

您只是在調用返回整數的方法,但從未使用/打印它。 嘗試在代碼中使用它,以查看是否具有在類中設置的期望值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM