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

Java:println中的布尔值(布尔值?“打印为真”:“打印为假”)

马亮
2023-03-14
问题内容

我遇到了这种语法:

System.out.println(boolean_variable ? "print true": "print false");
  • 这个带有两个点的语法是什么?
  • 在哪里可以找到有关它的信息?
  • 它仅适用于布尔值还是以其他不同方式实现?

问题答案:

? :是条件运算符。(不只是:一部分,整个方法参数示例中条件运算符的一种用法。)

它通常被称为三元运算符,但这只是其本质的一个方面-具有三个操作数-
而不是其名称。如果在Java中引入了另一个三元运算符,则该术语将变得模棱两可。之所以称为条件运算符,是因为它有一个 条件
(第一个操作数),该条件然后确定要对其他两个操作数中的哪个进行求值。

第一操作数进行评估,然后 要么 在第二 第三操作数基于所述第一操作数是真还是假评价…,这最终成为操作者的结果。

所以像这样:

int x = condition() ? result1() : result2();

大致相当于:

int x;
if (condition()) {
    x = result1();
} else {
    x = result2();
}

重要的是 不要 评估另一个操作数。因此,例如,这很好:

String text = getSomeStringReferenceWhichMightBeNull();
int usefulCharacters = text == null ? 0 : text.length();


 类似资料:
  • 我发现了这个语法: 这个有两个点的语法是什么:叫? 在哪里可以找到有关它的信息? 它是仅适用于布尔值还是以其他不同的方式实现?

  • 我在php中有一个布尔值。当我做以下事情时: 我得到类似于或的东西。有没有简单的方法来获得或

  • 这是你如何打印一个布尔值。一个值设置为真,一个值设置为假。不知道为什么之前打印不出来。

  • 我有以下代码: 我的问题是在onCreate函数中,我有以下两行代码: 工作完美无瑕。但是m\u TrackDriver总是正确的。不管我按什么按钮。有人能解释为什么会这样吗? 提前感谢您的帮助。

  • 问题内容: 我有一个pojo类,其中标志之一是Boolean类型。 当此属性获取非布尔值(不是fastxml时)时,杰克逊会自动将输入值转换为。调试了几个小时后,我发现这是在setter方法中发生的。 如果此属性的输入值为非布尔值,我想传递自定义消息。我已经编写了自己的注释来验证此属性的输入值,并返回自定义消息(如果它不是布尔值,但是杰克逊在检查自定义验证器之前将其绑定)。 使用杰克逊版本>>>

  • 但是这个代码不起作用。编译器说 我在试图理解代码的问题是什么。我认为将返回一个布尔值流,我可以通过收集这些值。