多选题 Given:
public class BooleanResultsOutput {
public static void main(String[] args) {
boolean booleanValue1 = true;
boolean booleanValue2 = false;
System.out.print(!(booleanValue1 & !booleanValue2)+" ");
System.out.print(!(booleanValue1 | !booleanValue2)+" ");
System.out.print(!(booleanValue1 ^ !booleanValue2));
}
}
What will be printed, considering the usage of the logical Boolean operators?
  • A. false, false, true
  • B. false, true, true
  • C. true, false, true
  • D. true, true, true
【正确答案】 A
【答案解析】第一个表达式语句(!(true&!(false)))计算结果为false。在这里,右边操作数被(布尔反转)运算符反转为true,布尔与运算符相当于两个操作数为true的表达式,而(布尔反转)运算符相当于结果值为false。第二个表达式语句(!(true|!(false)))计算结果为false。在这里,右操作数被(布尔反转)运算符反转为true,布尔或运算符等同于两个操作数为true的表达式,而(布尔反转)运算符相当于结果值为false。第三个表达式语句(!(true^!(false)))计算结果为true。在这里,右操作数被(布尔反转)运算符反转为true,布尔异或(XOR)运算符等同于两个操作数为false的表达式,而(布尔反转)运算符相当于结果值为true。B、C和D不是正确答案,理由如正确答案的解释。