当前位置: 首页 > 面试题库 >

在什么情况下最好使用无条件AND(&而不是&&)

熊哲圣
2023-03-14
问题内容

我想知道Java(或更普遍的是:在编程中)的一些情况,在布尔表达式中首选使用无条件AND&)而不是有条件版本(&&)。

我知道它们是如何工作的,但是我想不出使用单曲&值得的情况。


问题答案:

我发现在现实生活中的情况下,表达的双方都真的很便宜,所以它剃掉了一两纳秒避免分支,使用无条件&代替&&。(不过,这些都是极高性能的数学实用程序;我几乎永远不会在其他代码中使用它,并且如果没有详尽的基准测试来证明它更好,我也不会这样做。)

(举个具体的例子,x > 0它将是超级便宜且无副作用的。为什么还要冒着分支预测错误的风险来避免无论如何都会变得如此便宜的测试?当然,因为这将boolean是最终结果,在一个分支中,但if (x >= 0 && x <= 10)涉及两个分支,并且if (x >= 0 & x <= 10)仅涉及一个。)



 类似资料:
  • 我想知道Java中的一些情况(或者更广泛地说:在编程中),在布尔表达式中,使用无条件的()而不是条件版本()是可取的。 我知道它们是如何工作的,但我无法考虑使用单个是否值得。

  • 问题内容: 我需要创建一个使用12个参数的存储过程,并使用此参数的不同组合来过滤查询。所有12个参数都不是强制性的,好像我传递3或5或12个参数取决于用户输入的搜索输入。 我可以使用动态SQL查询或“ Case where”语句创建2种方法。这些查询的示例如下: 动态查询 DECLARE @condition VARCHAR(MAX)=’‘ Declare @var1 varchar(10) De

  • 问题内容: 很抱歉那个愚蠢的问题。如何在javascript切换大小写语言元素中为案件使用条件?像下面的示例一样,当变量<= 5和> 0 时,大小写应该匹配;但是,我的代码不起作用: 感谢您的任何建议! 问题答案: 这有效: 此答案的先前版本认为括号是罪魁祸首。实际上,括号在这里是无关紧要的-唯一必要的是您的case表达式必须为布尔值。 之所以起作用,是因为我们将给开关的值用作比较的依据。因此,同

  • 请问我们在使用类型注释的时候,何时使用type class名,何时使用class名呢? 我经过如下实验: 比如以上,是否是返回类型为class名称的时候,使用 typeof class名,返回类对象的时候,使用class名?

  • 本文向大家介绍在什么情况下选择webpack?在什么情况下选择rollup?相关面试题,主要包含被问及在什么情况下选择webpack?在什么情况下选择rollup?时的应答技巧和注意事项,需要的朋友参考一下 非要一句话区分的话 如果是用,如果是用其实界限并不是特别明显。在某些特殊情况下可以互用

  • 我看过一些代码,其中人们使用了带有两个“!”的条件子句s 这是我能找到的一些例子。 使用有什么好处超过?