3

我对编程相当陌生,我对返回值的确切含义感到困惑。起初,我认为这意味着输出返回的值,但是当我在自己的代码中尝试时,什么也没发生。

class Class1 {

    public static int x = 3;

    public static int getX(){
        return x;
    }

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

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

4

3 回答 3

7

简单来说,就是将值返回给方法的调用者...

因此,在您的示例中,该方法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...
    }
}
于 2013-05-01T03:33:14.063 回答
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返回 anObject那么它将返回对象引用的副本。不同语言对方法返回的语义不同,因此在语言之间切换时要小心。Java 还会复制传递给方法的参数值——在这种情况下,method1复制值 5 并将其传递给method2.

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

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

valueinmethod1不受method2(执行value后仍等于 5 )的影响method2,因为只发送了一个副本value作为参数。

于 2013-05-01T03:36:34.167 回答
0

您只是调用一个返回整数的方法,但您从未使用/打印它。尝试在您的代码中使用它,以查看您是否获得了您在类中设置的所需值。

于 2013-05-01T04:38:49.223 回答