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... }
&&是一个逻辑运算符
&有点操作员
显然,如果你对真实与真实进行比较,答案是正确的,如果你对真假进行比较,那么答案是错误的!