&个&&都可以用作逻辑与的操作,当运算符两边的表达式都为TRUE的时候,整个运算结果才为true。否则,只有要一方为false,整个运算结果都为false。
&&还有短路的功能,比如:
if(str!=null&&!str.equals("")){
System.out.println("a");
}
当str为null的时候,str!=null为false则后面的!str.equals("")不会执行,也不会报NullPointerException异常,只有前面的表达式为true,&&后面的表达式才会执行。把&&改成&则会报NullPointerException异常。
&还可以用作位运算符,当运算符两边的表达式不是boolean类型的时,&表示位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位。
&&还有短路的功能,比如:
if(str!=null&&!str.equals("")){
System.out.println("a");
}
当str为null的时候,str!=null为false则后面的!str.equals("")不会执行,也不会报NullPointerException异常,只有前面的表达式为true,&&后面的表达式才会执行。把&&改成&则会报NullPointerException异常。
&还可以用作位运算符,当运算符两边的表达式不是boolean类型的时,&表示位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位。