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

使用xor运算符进行布尔检查是否是好习惯?[关闭]

萧献
2023-03-14
问题内容

我个人喜欢 Exclusive或^运算符,因为它的简洁性使其在布尔检查的上下文中有意义。我更喜欢写

if (boolean1 ^ boolean2)
{
  //do it
}

if((boolean1 && !boolean2) || (boolean2 && !boolean1))
{
  //do it
}

但是我经常从其他经验丰富的Java开发人员(不仅是新手)中获得困惑的外观,有时还会评论如何仅将其用于按位运算。

我对有关使用^操作员的最佳做法感到好奇。


问题答案:

您可以简单地使用!=



 类似资料:
  • 问题内容: Golang中是否没有布尔值的XOR运算符? 我正在尝试做类似的事情,但是它没有为布尔值定义。 问题答案: 那没有。围棋并 没有 提供一个 逻辑 异或运算(即XOR在布尔值)和该 按位 异或操作 仅适用于整数。 但是,可以用其他逻辑运算符重写异或。如果忽略表达式(X和Y)的重新计算, 或者,更简单地说,如Jsor所指出的,

  • 问题内容: 考虑一下此表达式的用法: 有效地对应于此三元表达式: 将此方法与方法一起使用是否是一种好习惯?还是只是多余的编码? 我知道实际上创建了一个变量,避免了两次调用该方法。为了避免这个问题,您实际上可以创建一个额外的变量,但这会增加三元选项的详细程度: 另一方面,如果不是多余的对象则创建。因此,肯定会有更多开销。 因此,使用这种类型的结构来代替三元构造函数似乎有些利弊。 顺便说一句:这是Ja

  • 问题内容: 如何检查布尔值是否为null?因此,如果我知道“ hideInNav”为空。如何阻止它进一步执行?像下面这样的东西似乎不起作用,但是为什么呢? 问题答案: 只能是或因为它是原始数据类型(+ 变量的默认值为)。如果要使用值,则可以改用类。布尔是一种引用类型,这就是您可以分配给布尔“变量”的原因。例:

  • 问题内容: 嗨,在Java中这样的事情是可能的吗? 澄清。上面的作品,但首先分配false。我想要实现的是尽快将其返回并随后将其重置。 结构看起来像这样: 我当时正打算一次过 问题答案: 不,没有内置功能可以满足您的描述。您可以使用一个临时变量来完成此操作: 或者根据您对问题的 进一步 编辑( “结构看起来像这样”) ,可以使用: 我 真的,真的不会那样做 。不必要的钝。

  • 问题内容: 因此,我听说如果将2个字符串与==进行比较,则只有它们都引用相同的对象/实例时,我才会返回true。那是琴弦。布尔呢? 问题答案: ==是否检查布尔值是否完全相等?-Java 这取决于您是在谈论s(对象包装,请注意大写)还是s(原始,请注意小写)。如果您在谈论s(对象包装器),就像处理所有对象一样,请检查 身份 ,而不是对 等 。如果您在谈论s(基元),它将检查是否相等。 所以: 但

  • 我想检查一个字符是否是操作符,比如:%,/,*,+,- 此错误:运算符不能应用于'boolean'、'char' 有人知道我做错了什么吗?