头图

起因

新人问我代码里面为什么使用到了三元运算,明明if更能看的懂逻辑,我想了想里面学问还是有点的,所以记录下。

本质

首先,在java语言中

if它是语句(statement),三元运算是(表达式)

表达式可以当语句用,语句不能当表达式。
int n = 1 ? 2 : 3
上面的三元运算,他有明确的返回值,能赋给一个变量,能return出去,如果翻译成if

int n;  
if (1) {
  n = 2; 
} else {
  n = 3;
}

你不能把if-else赋值给一个变量,也不能return出去,只能在每个分支里面return。

if的好处

在多分支的情况下,if比三元运算好理解,清晰。用三元嵌套写起来自己后面来看都不一定能看的懂。

结论

不能踩一捧一,两者都有各自的用处,要实际情况具体分析,合适的,才是最好的


幻想的绝望
1 声望0 粉丝

在绝望中追寻