Java:println中的boolean(boolean?“print true”:“print false”)

我遇到了这种语法:

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

? : ? :是条件运算符 。 (它不仅仅是: part – 整个方法参数是你的例子中条件运算符的一种用法。)

它通常被称为三元运算符,但这只是其性质的一个方面 – 有三个操作数 – 而不是它的名字。 如果将另一个三元运算符引入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(); 

它是条件运算符,通常称为三元运算符,因为它有3个操作数:例如:

 int foo = 10; int bar = foo > 5 ? 1 : 2; // will be 1 int baz = foo > 15 ? 3 : 4; // will be 4 

因此,如果boolean表达式的计算结果为true ,则返回第一个值(冒号前),否则返回第二个值(冒号后)。

您可以阅读Java语言规范,第15.25节“条件运算符”中的细节?

它是一个三元运算符,意味着它不像其他许多运算符那样拥有两个操作数,而是有三个。 关于三元操作的维基百科以及它如何在Java中使用 。 它归结为:评估布尔运算(或只是一个变量)。 如果计算结果为true,则运算符返回值/执行代码之前的代码,否则执行代码之后的代码。

这是一个if语句。

左边是什么? 条件是什么,之间是什么? 和:是条件为真的结果,如果条件为假,则结果是:结果是什么。

这是三元运算符 ( http://en.wikipedia.org/wiki/? :)。 当你需要一个小的if表达式时,它可以在任何地方使用。

对于你的问题:

  1. ?:两个字符在一起)称为条件运算符(或三元运算符)。 只有两者一起工作。
  2. 搜索java ternery运算符
  3. 它只适用于布尔值

原则上,ternery运算符是缩短的if / elseboolean将是if的条件,它之间的部分是?:if分支,此后的部分是else分支。

请注意,条件运算符的返回类型由第一个分支决定

它是三元运算符,它与布尔值一起使用。 在某些情况下,它可以用作if-else的简写,但不应该用于太复杂的事情,因为它很难阅读。

一个例子是根据条件为变量赋值:

 String message = doOperation() ? "Success" : "Error occurred"; System.out.println(message); 

在这种情况下,如果doOperation返回一个告诉它是否成功的布尔值,则可以在一行上分配要显示的消息。

请注意,此示例并不代表良好的编程习惯。

它的三元运算符。

三元运算符或?是if语句的简写。 它可用于计算表达式并根据表达式的结果返回两个操作数之一。

 boolean b = true; String s = ( b == true ? "True" : "False" ); 

这将根据布尔值b的值设置String的值。 这可以使用if else语句编写,如下所示:

 boolean b = true; String s; if(b == true){ s = "True"; }else{ s = "False"; } 

它是if-else语句的简短forms。

它以这种方式工作

 (yourCondition ? STATEMENT1 : STATEMENT2) 
  • 编译器检查条件。
  • IF它返回TRUE那么将执行STATEMENT1
  • ELSE STATEMENT2将被执行。

问号后跟一个冒号(两个点)是一个三元运算符,通常称为内联if。

在这种情况下,它返回一个字符串,具体取决于boolean_variable的值。

http://en.wikipedia.org/wiki/%3F

看到这里 。 三元运算符类似于if表达式,但不同之处在于它是一个表达式 – 它有一个返回值,而if表达式则没有。 有时你想用它来使你的代码变得更加混乱。