在 Java 中使用或"|"语句运算符



假设我有一个数组a[],如果我想更改a[I]的值并将其更改为零,我可以通过使用临时变量来实现。

int temp = a[i];
a[i] = 0;

但是我遇到了一个类似的代码

int temp = a[i] | (a[i] = 0);

我很难理解这个。请解释一下,它有用吗?使用类似类型的代码是一个好的实践吗?

这段简单代码的目的是从数组中获取一个值,并将其在数组中的位置设置为0

让我们看看这些复杂的代码是如何做到的。

|操作符是位或操作符。首先,对a[i]求值,这里的值就是左操作数。接下来,括号强制计算a[i] = 0。这将数组元素设置为0,而|的右操作数现在是0。对值0执行按位或操作不会改变其他值。"temp ="后的整个表达式的值为"a[i]"的原值。这样做的效果是在一个语句中完成了直接代码所做的一切。

这段代码很棘手,它不是一个好的实践,因为它令人困惑。我绝不会使用这种技巧。

最新更新