如果我没有将变量赋给返回值的函数会发生什么

时间:2018-06-06 10:57:13

标签: java syntax

让我们考虑一下代码

int function(){
    return 1;
}
main(){
    function();
}

我没有为函数调用分配任何变量,它返回一个整数。它没有抛出错误。内部实际发生了什么?

3 个答案:

答案 0 :(得分:3)

在堆栈上返回该值,并弹出堆栈,并丢弃该值。这是完全正常,一直发生。我们经常调用返回我们不需要使用的东西的函数,因此不要使用。

答案 1 :(得分:0)

  

内部实际发生了什么?

简单地丢弃返回值。

通常如果你这样做

x = foo();

调用函数中的代码就在函数调用之后,它在返回时执行,将返回值移动到变量x中。如果您执行

,则会省略此代码
foo();

答案 2 :(得分:0)

实际上,您的方法返回一个整数值,但您没有将其分配给任何变量来存储它。如果你把它打印出来,它会打印出来。

System.out.println(function());