我正在为一个学校项目工作,我在一个方法中有许多嵌套循环。我可以验证我的代码是否达到“返回真值”; “return false;”之前的声明使用太多 System.out.println 语句。
有没有return不立即退出方法的情况。在我的代码中,它到达了“return true;”,但随后继续执行该方法。
谢谢 - 第一次发帖,但是其他问题的长期学生
编辑:显示我的代码 - 这是一个加州大学伯克利分校的项目,所以他们不允许我们发布完整的代码。这是重要的部分。
我的代码中没有“try 语句”。这是我的方法的最后,它有大量循环(while 和 for)循环。
if (x == 7 && turn == 5){
System.out.println("TRUE RESULT");
return true;
}
nextVictory(turn, x, y, color,z);
alive = false;
}
}
}
}
System.out.println("FALSE RESULT");
return false;
}
我有打印语句来验证我所在的位置。以下是结果:
真实结果
错误的结果
错误的结果
错误的结果
错误的结果
最佳答案
Is there any case where return does not immediately exit the method?
想到的唯一情况是 return
语句是否在 try
-finally
block 中。 finally
block 仍然会被执行。
另一种可能表现出类似行为的情况是您的方法是递归的。在这种情况下,嵌套调用中的 return
语句实际上会返回给调用者。但是,如果调用者是方法本身,这可能会导致方法在 return
之后继续执行。
关于Java Return 不退出方法(循环),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15727019/