&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式结果都为true是,整个运算结果才为true,只要一方为false,那么整个运算结果为false
&&还具有短路的功能,即如果第一个表达式的为false,那么就不用再计算第二个表达式,
例如对于if(str!=null&&!str.equals(""))表达式,当str为null是,后面就不会执行了。
&还可以用作位运算符,当操作符两边的表达式不是boolean类型时,&表示按位与操作,通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位。
例如,0x31&0x0f的结果为0x01;0x31转二进制是110001,0f转二进制是 1111
希望对你有帮助 |