当前位置: 首页 > 面试题库 >

在Java中,布尔值“操作顺序”是什么?

公西修文
2023-03-14
问题内容

让我们以一个简单的对象为例Cat。我想确定“不为空” cat是橙色还是灰色。

if(cat != null && cat.getColor() == "orange" || cat.getColor() == "grey") {
//do stuff
}

我相信AND首先出现,然后是OR。不过我有点模糊,所以这是我的问题:

  1. 有人可以指导我完成此声明,以便我确定会发生什么吗?

  2. 另外,如果加上括号会怎样?这会改变操作顺序吗?

  3. 我的操作顺序会因语言而异吗?


问题答案:

Java教程有一个列表,说明了运算符优先级。将首先计算相等运算符&&,然后是||。括号将先计算,因此添加括号可以更改顺序。通常,从语言到语言,这几乎是相同的,但是反复检查始终是个好主意。

正是您所期望的行为上的微小差异会导致您花费一整天的时间进行调试,因此最好将括号放在适当的位置,以便您确定评估的顺序。



 类似资料:
  • 当你需要的形状并不属于标准形状时,你就要自己创建它们。最初的冲动可能是使用Sketch中的矢量工具来绘制一个形状。然而你将会发现,许多复杂的形状可以非常容易地拆分为基础形状的组合。布尔操作正是用来完成这样的工作:组合基础形状来创建更复杂的形状。 子路径 Sketch提供了动态的布尔操作。在深入讨论细节之前,我们可以快速回顾一下矢量形状。Sketch中的大部分形状都是由一系列的点组成,可以称它为一个

  • 问题内容: 假设我有以下表达式 Eclipse警告我,布尔表达式的第二个短语中可能为空。但是,我知道有些人会在第一个条件失败的情况下完全退出布尔表达式。Java是否正确?还是不能保证评估顺序? 问题答案: 但是,我知道有些人会在第一个条件失败的情况下完全退出布尔表达式。Java是否正确? 是的,这就是所谓的短路评估。操作员喜欢和是执行此类操作的操作员。 还是不能保证评估顺序? 不,可以保证评估的顺

  • 在一门编程语言中,布尔操作符的重要性堪比相等操作符。如果没有测试两个值关系的能力,那么诸如 if...else 和循环之类的语句就不会有用武之地了。布尔操作符一共有 3 个:非(NOT)、与(AND)和或(OR)。 1. 逻辑非逻辑非操作符由一个叹号(!)表示,可以应用于 ECMAScript 中的任何值。无论这个值是什么数据类型,这个操作符都会返回一个布尔值。逻辑非操作符首先会将它的操作数转换为

  • 问题内容: 哪种列类型最适合在MySQL数据库中使用布尔值?我用,但我的同事用。 问题答案: 这些数据类型是同义词。

  • 问题内容: 好的,我在代码中实现了这个SO问题:随机返回True或False 但是,我的行为很奇怪:我需要同时运行十个实例,每个实例每次运行仅返回一次true或false。令人惊讶的是,无论我做什么,每次我得到 有什么方法可以改善这种方法,以便我至少有大约50%的机会得到吗? 为了使它更易于理解:我将应用程序构建为JAR文件,然后通过批处理命令运行 程序的内容-使其尽可能简单: 如果我打开10个命

  • 2.8 操作顺序 当表达式中出现了多个运算符的时候,计算顺序取决于优先级规则。一个完整的优先级说明是十分复杂的,出于让您尽快入门的目的,先列出以下几点: 乘除法运算优先于加减法运算。因此2*3-1得到5,而不是4。2/3-1得到-1,而不是1(记住在整型除法中2/3结果是0)。 如果运算符有相同的优先级,它们会按照从左往右的顺序计算。因此表达式minute*100/60中,乘法运算最先进行,得到5