&&和&的区别?

&&和&的区别?

&&是短路的与操作,也就是当地一个条件是false的时候,第二个条件不用执行
&相反,两个条件总是执行。

&是用来处理0101这样的2进制字符的位运算的,
而&&是处理true和false这样的boolean运算
[quote]
&是java中的位逻辑运算:
eg:
2&3=2;
具体分析为:
2的二进制为10
3的二进制为11
逻辑&之后为10
&&是boolean的逻辑运算
eg:
if(1> 2&&3> 1)
表示如果两个条件都成立则执行之后的逻辑; [/quote]

[url]http://topic.csdn.net/u/20070617/01/e71f21aa-3277-4509-89a5-69e7e91b9481.html[/url]

&是逻辑与
&&是条件与 &&会进行短路运算 第一个条件可以判断表达式的结果时,不对后面的条件进行判断。

int i=1;
if(i==2 & i++==2){} //i==2为false,但i++==2还会继续比较,所以i++被执行
System.out.println(i);//i 打印出来为2
int j=1;
if(j==2 && j++==2){} //j==2为false,但j++==2不会继续比较,所以j++不被执行
System.out.println(j);//j打印出来为1

[color=darkred]这个问题我感觉就没必要在这问了吧,你google一下,或者baidu一下,资料一箩筐。程序员得学会用搜索工具的![/color]