Java - Does returning a value break a loop?

筅森魡賤 提交于 2019-11-27 03:23:55
Mark Byers

Yes*

Yes, usually (and in your case) it does break out of the loop and returns from the method.

An Exception

One exception is that if there is a finally block inside the loop and surrounding the return statement then the code in the finally block will be executed before the method returns. The finally block might not terminate - for example it could contain another loop or call a method that never returns. In this case you wouldn't ever exit the loop or the method.

while (true)
{
    try
    {
        return;  // This return technically speaking doesn't exit the loop.
    }
    finally
    {
        while (true) {}  // Instead it gets stuck here.
    }
}

Return does break the loop and returns from the entire method immediately. The only code that will be executed on the way out is the body of a finally clause and the release of any synchronized statement.

I should also add that if you want to break the current iteration of the loop, and instantly start the next one, you can use:

continue;

As it seems nobody has suggested it.

Yes.

Anyway, for questions as short as this, I think you would be better (and get an earlier answer) just trying it by yourself.

Return whenever called exits a method from wherever it is and returns a value to the caller.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!