简化的三元表达式

simplified Ternary expression

我正在努力思考一小段代码 int maximumVal = counter > 20 ? 20 : counter;

我知道 ? 用于 true if 表达式并且 : 用于 false if 表达式

这就是那个表达式用简化的 if else 术语表达的意思吗?:

if (counter > 20) {
int maximumVal = 20;
else {
maximumVal = counter;
}

你可以把它想象成

int maximumVal;
if (counter > 20) {
    maximumVal = 20;
} else { 
    maximumVal = counter;
}

maximumVal 必须在 if 之外声明,以便它对后面的代码可见。

条件表达式的优点是您可以知道从表达式中赋值的变量已赋值,而在 if-else 形式中您必须读取两个分支以验证变量是否已设置。

三元运算符(?)

语法: 变量=条件? (如果为真)值 1:(如果为假)值 2;

是的,它基本上是一个 if-else 语句