返回值在java方法中是如何工作的

返回值在java方法中是如何工作的,java,Java,我编写这段代码是为了了解return在java中的工作原理 public class test { public int sumDouble(int a, int b) { int k = (a + b); if (a == b) { k = k * 2; } else { k = (a + b); } return k; } pub

我编写这段代码是为了了解return在java中的工作原理

public class test {

    public int sumDouble(int a, int b) {

        int k = (a + b);
        if (a == b) {
            k = k * 2;

        } else {
            k = (a + b);
        }

        return k;

    }

    public static void main(String[] args) {

        System.out.println("Enter your number");
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();

        test t = new test();
        t.sumDouble(a, b);

    }
}
我想使用
返回k
打印出求和的值 如何使用
返回k
打印总和值? 我试图编写
System.out.println(t.k)在主方法中,但它不起作用


谢谢

这里需要记住的是,
k
sumDouble
方法中的局部变量,因此您不能在其他地方引用它

但是,您可以获取由
sumDouble
返回的值,并在main方法中使用它

例如,您可以在
main
中创建一个变量,并将其值指定为从
sumdool
返回的值,并且您可以打印该变量,因为它在以下范围内:

// at runtime, this will evaluate "t.sumDouble(a, b)" 
// and assign the value that it returns to the variable "sum"
int sum = t.sumDouble(a, b);
System.out.println(sum);
您甚至可以跳过局部变量,直接使用方法调用:

System.out.println(t.sumDouble(a, b));

sumdool
是一种返回值的方法。当进行
t.sumDouble(a,b)时您正在忽略此值。您应该将此值存储在局部变量中:
int result=t.sumDouble(a,b)
,然后打印该
result
。我建议您阅读Java教程了解更多信息,我认为使用一个单独的中间局部变量会更容易理解(IMO)。@Tunaki好的,我重写了它以使其更清晰。