java - 两个布尔变量同时为真或均为假的解释
问题描述
我被要求在一个教程中写一个如下的表达式:
给定布尔变量:
boolean a, b;
写一个表达式,true
如果其中一个 a
和b
都是,true
或者如果a
和b
都是两个false
。
我从测验得到的答案是:
a && b || !a && !b
请解释一下这是什么意思。
解决方案
让我们一块一块来看。我将在事物周围加上括号以使其更有意义。
(a && b) || (!a && !b)
首先,从(a && b)
有了这个,所有这一切都意味着,a == true AND(&&) b == true
所以,在这个陈述中,两者a
都b
必须是真的
二、(!a && !b)
与前面类似,所有这一切都意味着a == false AND(&&) b == false
So,a
和b
在此语句中都必须为假
现在,OR(||)
在两者之间加上一个,这意味着要么两者都为真,要么两者都必须为假。
推荐阅读
- html - 从作为 HTML 文档返回的 Http 响应中提取数据块
- sql - 如果字符串有特殊字符,那么如何使用子字符串函数
- html - div内的中心导航栏
- python-2.7 - 从表面坐标推导出流形的法向量
- c - [Aspell][C][Pipes] Child and Parent - 使用管道重定向 - Unix C
- java - 无法使用 Hibernate 连接到数据库
- javascript - 如何在wordpress中使用ajax在数据库中插入图像
- android - 我可以使用 32 位操作系统虚拟化,但不能使用 Android Studio
- java - Spring Boot 应用程序在 CentOS 7 x64 中产生了许多轻量级进程
- katalon-studio - 如何使用带有参数的 Katalon Recorder