Java的&操作符可以作用于boolean类型的操作数上吗?如下面的代码所示:
public class Test
{
public static void main(String[] args)
{
System.out.println(true & true);
System.out.println(true & false);
System.out.println(false & true);
System.out.println(false & false);
System.out.println(true && true);
System.out.println(true && false);
System.out.println(false && true);
System.out.println(false && false);
}
}
输出结果为:
true
false
false
false
true
false
false
false
对上面的运算,当&与&&操作符分别作用于boolean类型的操作数时,其结果看起来是一样的,但内部运算有什么不同吗?
当Java的&(按位与)操作符作用于boolean类型的操作数时,它的功能被重载为&&(逻辑与)操作符,区别:& 操作符总是要计算它的两个操作数,而 && 操作符在其左边的操作数被计算为 false 时,就不再计算右边的操作数了。