IT兄弟连 Java语法教程 三目运算符

  • 2019 年 10 月 5 日
  • 笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/ITXDL123/article/details/95042435

Java提供了一个特殊的三目(三个分支)运算符,它可以替代特定类型的if-then-else语句结构。这个运算符是“?”乍一看可能有一些困惑,但一旦理解“?”运算符,就可以高效地使用它。“?”运算符的一般形式如下:

expression1 ? expression2 : expression3

其中expression1可以实任何结果为布尔值的表达式。如果expression1的结果为true,就对expression2进行求值;否则对expression3进行求值。“?”运算符的结果是对其进行求值的表达式。expression2和expression3都需要返回相同(或兼容)的类型,并且不能为void。

下面是使用“?”运算符的一个例子:

ratio = denom == 0 ? 0 : num/denom;

当Java对这条赋值语句进行求值时,首先分析“?”左侧的表达式,如果denom等于0,就对问号和冒号之间的表达式进行求值,并将其作为整个“?”表达式的值。如果denom不等于0,就对冒号之后的表达式进行求值,并作为整个“?”表达式的值。“?”运算符产生的结果就会赋值给ratio。