Java 一个简单的代码,返回的结果是什么?

Java 一个简单的代码,返回的结果是什么?,java,Java,我是一个新的程序员,我不知道这次返回的结果是什么?我对此发表评论。if()后面有{}是真的吗?多谢各位 public void blow(int amount) { if (this.popped) return; //what is this? true or false this.radius += amount; if (this.radius <

我是一个新的程序员,我不知道这次返回的结果是什么?我对此发表评论。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;
 }
public void blow(整数金额)
{
如果(这个.弹出)
return;//这是什么?对还是错
这个半径+=数量;

如果(this.radius这只是将控制流返回到调用函数的位置。它终止blow的执行

编辑:由于函数的返回类型为void,因此不能返回值,因此无论从哪个角度看,返回都只是终止函数

就是这样

 public void blow(int amount)
 {
     if (this.popped)
         return;                     //This stops the function right here, no lines
                                     //in the function beyond this are executed
     this.radius += amount;

     if (this.radius <= this.maxRadius)
         return;                     // same as above

     this.radius = 0;
     this.popped = true;
public void blow(整数金额)
{
如果(这个.弹出)
return;//这就在这里停止函数,没有行
//在超出此范围的函数中执行
这个半径+=数量;

if(this.radiusFirst things First:one不从声明为返回
void
的方法返回值

这些
return
语句充当早期出口;它们只是强制方法的执行停止(),并将控制返回给其调用方,而不产生任何结果。如果它超过第一个
return
,则会产生副作用,因为
radius
的状态将在该点发生更改

更正式地说,这来自于关于为什么这是允许的:

如果一个方法被声明为
void
,那么它的主体不能包含任何带有表达式的返回语句(§14.17),否则会发生编译时错误。


一般来说,拥有多个退出路径不是一个好的做法,因为这会使调试有点困难,并在读取代码时导致混乱。

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