一个简单的代码,返回的结果是什么?
问题描述:
我是一名新程序员,我不知道这个回报的结果是什么?我评论它。 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;
}
答
这只是将控制流返回到函数被调用的位置。它终止打击的执行。
编辑:由于你的函数有一个返回类型的void,所以你不能返回一个值,所以你看这个返回的方式就是终止函数。
这是个什么
}第一
答
一件事:一是不从被声明为返回void
方法返回值。
这些return
陈述作为早期退出;他们只是强制执行方法停止(more formally, "completes abruptly")并将控制权返回给调用方,而没有任何结果。如果它超过第一个return
,将会发生副作用,因为当时radius
的状态将被更改。
更正式地说,这是从Java Language Specification来为什么这是允许的:
如果一个方法声明
void
,那么它的身体不能包含有一个表达的任何return语句(§14.17) ,或发生编译时错误。
一般来说,这不是一个很好的做法,有多个出口路径,因为它可以使调试有点痛的,并导致混乱,而阅读的代码。
答
你的方法有返回类型的void,这意味着它不能返回任何东西。语句return;
只允许您跳过方法内的其余代码并退出该方法。