多选题
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不是正确答案,理由如正确答案的解释。