首页 > 解决方案 > 两个布尔变量同时为真或均为假的解释

问题描述

我被要求在一个教程中写一个如下的表达式:

给定布尔变量:

boolean a, b;

写一个表达式,true如果其中一个 ab都是,true 或者如果ab都是两个false

我从测验得到的答案是:

a && b || !a && !b

请解释一下这是什么意思。

标签: javaboolean-logic

解决方案


让我们一块一块来看。我将在事物周围加上括号以使其更有意义。

(a && b) || (!a && !b)

首先,从(a && b)

有了这个,所有这一切都意味着,a == true AND(&&) b == true 所以,在这个陈述中,两者ab必须是真的

二、(!a && !b)

与前面类似,所有这一切都意味着a == false AND(&&) b == false So,ab在此语句中都必须为假

现在,OR(||)在两者之间加上一个,这意味着要么两者都为真,要么两者都必须为假。


推荐阅读