Java - Does returning a value break a loop?

前端 未结 5 1583
时光说笑
时光说笑 2020-12-02 10:42

I\'m writing some code that basically follows the following format:

public static boolean isIncluded(E element) {
    Node c = head;
    while (c !=         


        
5条回答
  •  自闭症患者
    2020-12-02 11:07

    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.
        }
    }
    

提交回复
热议问题