当前位置: 首页 > 知识库问答 >
问题:

while循环条件评估

郑景胜
2023-03-14
while (curr != null && key.compareTo(curr.getKey()) > 0) {
  prev = curr;
  curr = prev.getNext();
  if (curr == null) {
    System.out.println(curr + " is null");
  }
}

Q.while循环条件是作为一个整体进行计算,还是在决定是否进入循环之前一次计算一个条件?

共有1个答案

戎志勇
2023-03-14

&&是短路(或短手)操作符。它将计算第一个条件,如果条件为真,则只计算第二个条件。

因此,如果我的条件是conditon1&&condition2,它将计算condition2当且仅当condition1为true。

因此,在您的示例中,它将计算not null条件(curr!=null),如果失败,则不会计算另一个条件,因此没有NullPointerException,因此您将看到while循环优雅地退出。

 类似资料:
  • 我正在尝试制作一个简单的程序,它使用扫描器进行输入,并有一个while循环,该循环继续输入,直到输入结束字符为止。我想让扫描器接受输入并将一个字符串添加到堆栈列表中。我试图弄清楚为什么这段代码在键入空格时不终止while循环。

  • 编辑:重新措辞 我有一个账户列表:帐户 当我总结这份清单时,我得到了账户数量和账户总价值的概述 名称摘要 我添加了马克,因为他现在将是一个帐户所有者,但他目前没有任何帐户。 第一步是查看每个人应该拥有的账户的平均数。有25个账户,5个所有者,所以每个人都应该有5个账户。总价值为15600英镑,共有5名所有者,因此每个人的账户价值应该在3120英镑左右。这是一个估计值,所以我对它稍微偏离一点没意见。

  • 问题内容: 我试图通过一次添加一天来遍历while循环,但它甚至第一次都不会访问while循环。while循环中的条件正确吗?当我测试它时,它仅在一种情况下起作用,但在我添加第二种条件时停止了。 问题答案: 它应该是

  • 问题内容: 在C语言中, 但是在Python中,似乎没有。 产生 ( 应该在上) 有解决方法吗? 问题答案: 使用中断:

  • 在条件是promise的情况下,是否可以在循环时生成本机JavaScript

  • 我知道这在StackOverflow上被问过很多次,但我尝试过很多不同的解决方案,没有一个奏效。所以我决定问问社区该怎么做。下面是我的代码中的相关片段。 请注意,这只是我的代码中从控制台输入的部分,不包含任何其他内容。我有其他东西设置,要求代码是这种格式。 将Input.HasNext()替换为Input.HasNextLine() 将input.hasnext()替换为input.next()!