& =运算符是Java中的短路运算符吗?

时间:2015-07-08 10:33:32

标签: java boolean operators

在Java中,&&||是短路的。因此,如果没有必要,他们不会评估他们的第二个操作数(例如false && atrue || b)。

&=运营商怎么样?它也是短路的吗?

2 个答案:

答案 0 :(得分:2)

不,&=不是布尔运算符,因此它不会使任何东西短路,它是一个按位赋值运算符。

它实质上意味着使用第一和第二个操作数的按位&分配第一个操作数。

快速演示

int i = 01;
int ii = 10;
System.out.println(i &= ii); // assigns i with i & ii and sends i to print stream
i = 01;
ii = 11;
System.out.println(i &= ii);

<强>输出

0
1

答案 1 :(得分:1)

不,不是。

有一段时间有一个关于为什么不存在&&=运算符的线程。如果它有意义的话,那可能是一个短路操作员。