繁体   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