加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java – 返回值是否会打破循环?

发布时间:2020-12-15 07:36:01 所属栏目:Java 来源:网络整理
导读:我正在编写一些基本遵循以下格式的代码: public static boolean isIncluded(E element) { NodeE c = head; while (c != null) { if (cursor.getElement().equals(element)) { return true; } c = c.getNext(); } return false;} 代码将搜索节点列表中的元素
我正在编写一些基本遵循以下格式的代码:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读