Java中&和&&的区别?

可能重复:
|有什么区别? 和|| 在Java中?
&和&&的区别

我只是想知道&&的区别是什么?
几天后,我写了一条if语句的条件如下:

 if(x < 50 && x > 0) 

但是,我把&&改成了 ,并没有显示任何错误。 有什么不同?


例如:我编译了这个简单的程序:

 package anddifferences; public class Main { public static void main(String[] args) { int x = 25; if(x < 50 && x > 0) { System.out.println("OK"); } if(x < 50 & x > 0) { System.out.println("Yup"); } } } 

它打印了“OK”和“Yup”。 那么,如果他们都工作,我使用哪一个呢?

&是按位。 &&是合乎逻辑的。

评估操作的双方。
&&评估操作的左侧,如果是,则继续并评估右侧。

&是按位与运算符比较每个操作数的位。
例如,

 int a = 4; int b = 7; System.out.println(a & b); // prints 4 //meaning in an 32 bit system // 00000000 00000000 00000000 00000100 // 00000000 00000000 00000000 00000111 // =================================== // 00000000 00000000 00000000 00000100 

&&是逻辑AND运算符,仅比较操作数的布尔值。 它需要两个指示布尔值的操作数,并对它们进行懒惰评估。

&& ==逻辑与

&=按位与

'&'执行两个testing,而'&&'只执行第二个testing,如果第一个testing也是如此。 这被称为短路,可能被认为是一种优化。 这在防止空效方面特别有用。

 if( x != null && x.equals("*BINGO*") { then do something with x... } 

&&是一个逻辑运算符

&有点操作员

显然,如果你对真实与真实进行比较,答案是正确的,如果你对真假进行比较,那么答案是错误的!