什么是 Java ?: 运算符,它的作用是什么?

本教程将介绍什么是 Java ?: 运算符,它的作用是什么?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

什么是 Java ?: 运算符,它的作用是什么? 教程 第1张

问题描述

我已经使用 Java 几年了,但直到最近我还没有遇到过这种结构:

int count = isHere ? getHereCount(index) : getAwayCount(index);

这可能是一个非常简单的问题,但有人可以解释一下吗?我该怎么阅读?我很确定我知道它是怎么工作的.

如果 isHere 为真,则调用 getHereCount()

如果 isHere 为 false,则调用 getAwayCount().

    if isHere is true, getHereCount() is called,

    if isHere is false getAwayCount() is called.

对吗?这个结构叫什么?

推荐答案

是的,是简写形式

int count;
if (isHere)
 count = getHereCount(index);
else
 count = getAwayCount(index);

称为条件运算符.许多人(错误地)称它为 ,因为它是 Java、C、C++ 以及可能许多其他语言中唯一的三元(三参数)运算符.但是理论上还有一个三元运算符,而.

官方名称在 Java 语言规范:

条件运算符 ?: 使用一个表达式的布尔值来决定应该计算其他两个表达式中的哪一个.

注意,两个分支都必须指向有返回值的方法:

第二个或第三个操作数表达式调用 void 方法是编译时错误.

所以,如果 doSomething()doSomethingElse() 是 void 方法,则不能压缩:

if (someBool)
 doSomething();
else
 doSomethingElse();

进入这个:

someBool ? doSomething() : doSomethingElse();

简单的话:

booleanCondition ? executeThisPartIfBooleanConditionIsTrue : executeThisPartIfBooleanConditionIsFalse 

好了关于什么是 Java ?: 运算符,它的作用是什么?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。