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

if条件:布尔表达式变量放置顺序[重复]

宗啸
2023-03-14

当我们使用if条件时,我们在布尔表达式中指定条件,如下所示:

if(boolean expression). 

如果在一个布尔表达式中有两个变量,比如< code>(bagWeight

Eclipse不会对我大喊它是错误的,直觉上它是有道理的,但不知何故,它只是困扰着我是否有更常见的编程实践。所以我的问题是,我可以交换两个变量的位置吗?它是否取决于哪个是主题的上下文?哪种是更常见的编程实践?

共有3个答案

魏健柏
2023-03-14

Java评估的顺序

if (true || myMethod())

if (false && myMethod())

这就是为什么您可能会在实际代码中看到与此类似的语句的原因。

String myStr = null;
if (myStr != null && myStr.trim().size() > 0)

如果Java要评估第二部分,那么当myStr为null时,你会得到一个NullPointerException。Java将绕过第二部分的事实使这种情况不会发生。

公西凯捷
2023-03-14

我可以交换这两个变量的位置吗?(重量限制

是的,它仍然会完全相同。

订单只有在使用短路操作时才能播放,例如||

示例:

if (boolean1 || boolean2)

在这种情况下,将首先评估布尔值 1。如果它的计算结果为 true,则不会计算 boolean2,因为第一个满足 if 语句的条件。

if (boolean1 && boolean2)

在这种情况下,如果布尔 1 的计算结果为 false,则永远不会计算布尔值 2,因为布尔值 1 为 false 的事实意味着即使布尔值 2 为真,if 语句的条件也永远不会满足。

希望有帮助。

龙越彬
2023-03-14

您可以随意更改两个变量的顺序。Eclipse(或编译器)并不在意,它只是计算表达式并返回一个值,要么为true,要么为false。

 类似资料:
  • 问题内容: 假设我有以下表达式 Eclipse警告我,布尔表达式的第二个短语中可能为空。但是,我知道有些人会在第一个条件失败的情况下完全退出布尔表达式。Java是否正确?还是不能保证评估顺序? 问题答案: 但是,我知道有些人会在第一个条件失败的情况下完全退出布尔表达式。Java是否正确? 是的,这就是所谓的短路评估。操作员喜欢和是执行此类操作的操作员。 还是不能保证评估顺序? 不,可以保证评估的顺

  • 我正在对科特林进行修补,我正试图让我的头脑了解科特林中可为空的变量是如何工作的。这里我有一段代码,它执行布尔检查,以查看车辆是否超载。实现是处理可空变量的好方法还是有更优雅的方法? 非常谢谢!

  • 我开始学习布尔表达式。我正试图找出以下问题: 假设age1、age2和age3是int变量,假设答案是布尔变量。编写一个表达式,当age1小于或等于age2并且age2小于或等于age3时,该表达式将答案指定为true。否则答案应为false。 我已经尝试了一些东西,但对Java来说还是比较陌生的。我能把答案打印出来,但我的数字还是有问题。 这是错误的: 我只是不知道如何解决这个问题,或者代码中到

  • 我有两个实体:类别和具有一对多关系的产品。 如果价格大于100,我如何按产品数量订购类别?类似(这不起作用):

  • 问题内容: 所以我有一个关于考试作业的问题,在这个作业中,我们有一堆布尔表达式,例如: 然后,我们应该编写布尔表达式的值。为此,我使用了三值逻辑,但是当您获得如下所示的布尔表达式时,这将如何应用: 或者 通过三值逻辑可以很容易地找到第一个,但是我如何找出另外两个。 我知道这是一个非常基本的问题,但是我对此仍然是陌生的。 提前致谢 问题答案: 您需要布尔值和的三相真值表: 该表是缩写,依赖于布尔逻辑

  • 基本上,我正在尝试使用Numpy数组的布尔表达式,例如: 这将返回一个错误 ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all() 正确的编码方法是什么?