起因
新人问我代码里面为什么使用到了三元运算,明明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比三元运算好理解,清晰。用三元嵌套写起来自己后面来看都不一定能看的懂。
结论
不能踩一捧一,两者都有各自的用处,要实际情况具体分析,合适的,才是最好的
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。