返回值是什么意思?

时间:2013-05-01 03:30:23

标签: java return-value return

我对编程很新,而且对于返回值的确切含义感到困惑。起初,我认为它意味着输出返回的值,但是当我在我自己的代码中尝试时,没有任何反应。

class Class1 {

    public static int x = 3;

    public static int getX(){
        return x;
    }

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

这是我的意思的一个例子。当我运行程序时,没有任何显示。考虑到这一点,我被引导相信返回一个值意味着别的东西。但是什么?

3 个答案:

答案 0 :(得分:6)

简单来说,它意味着将值返回给方法的调用者......

因此,在您的示例中,方法getX会将x的值返回给调用者,允许他们访问它。

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...
    }
}

答案 1 :(得分:2)

返回值是方法相互通信的一种方式

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;
}

value中的method1不受method2的影响(value执行后method2仍然等于5),因为只有value的副本}被作为参数发送。

答案 2 :(得分:0)

您只是调用一个返回整数的方法,但您永远不会使用/打印它。尝试在代码中使用它,看看你是否已经获得了在课堂上设置的所需值。