Java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and
&&有短路功能,当第一个表达式的值为false的时候,则不再计算第二个表达式;&则两个表达式都执行。
&可以用作位运算符,当&两边的表达式不是Boolean类型的时候,&表示按位操作。
public class HelloWorld {
public static void main(String[] args) {
int a = 8;
int b = 9;
int c = a & b; /* &可以用作位运算符 按位与 ,当&两边的表达式不是Boolean类型的时候 */
// 输出 c=8
System.out.println("c=" + c);
/* &&有短路作用,当第一个表达式的值为false的时候,则不再计算第二个表达式 */
if(a != 8 && ++b == 10) {
}
// 输出 a=8,b=9
System.out.println("a="+ a + "," + "b=" + b);
/* & 则两个表达式都执行 */
if(a == 8 & ++b == 10) {
}
// 输出 a=8,b=10
System.out.println("a="+ a + "," + "b=" + b);
}
}