Java – 返回值是否会打破循环?
作者:互联网
我正在编写一些基本遵循以下格式的代码:
public static boolean isIncluded(E element) {
Node<E> c = head;
while (c != null) {
if (cursor.getElement().equals(element)) {
return true;
}
c = c.getNext();
}
return false;
}
代码将搜索节点列表中的元素.但是,我的问题是,如果while循环确实找到了if语句说它应该返回true的元素,它是否会返回true并打破循环?此外,如果它确实然后中断循环,它将继续通过该方法仍然返回false,或者一旦返回值,方法是否完成?
谢谢
解决方法:
是*
是的,通常(在您的情况下)它会突破循环并从方法返回.
一个例外
一个例外是如果循环中有一个finally块并且包含return语句,那么finally方法块中的代码将在方法返回之前执行. finally块可能不会终止 – 例如,它可能包含另一个循环或调用永不返回的方法.在这种情况下,您永远不会退出循环或方法.
while (true)
{
try
{
return; // This return technically speaking doesn't exit the loop.
}
finally
{
while (true) {} // Instead it gets stuck here.
}
}
标签:java,while-loop,return,boolean,singly-linked-list 来源: https://codeday.me/bug/20190919/1813039.html