2014-10-12 102 views
0

我是一名新程序员,我不知道这个回报的结果是什么?我评论它。 if()跟在{}之后吗?谢谢一个简单的代码,返回的结果是什么?

public void blow(int amount) 
    { 
    if (this.popped) 
     return;           //what is this? true or false 
    this.radius += amount; 
    if (this.radius <= this.maxRadius) 
      return;           // what is this? 
    this.radius = 0; 
    this.popped = true; 
} 

回答

0

这只是将控制流返回到函数被调用的位置。它终止打击的执行。

编辑:由于你的函数有一个返回类型的void,所以你不能返回一个值,所以你看这个返回的方式就是终止函数。

这是个什么

}第一

0

一件事:一是不从被声明为返回void方法返回值。

这些return陈述作为早期退出;他们只是强制执行方法停止(more formally, "completes abruptly")并将控制权返回给调用方,而没有任何结果。如果它超过第一个return,将会发生副作用,因为当时radius的状态将被更改。

更正式地说,这是从Java Language Specification来为什么这是允许的:

如果一个方法声明void,那么它的身体不能包含有一个表达的任何return语句(§14.17) ,或发生编译时错误。

一般来说,这不是一个很好的做法,有多个出口路径,因为它可以使调试有点痛的,并导致混乱,而阅读的代码。

0

你的方法有返回类型的void,这意味着它不能返回任何东西。语句return;只允许您跳过方法内的其余代码并退出该方法。

相关问题