Java中与if else相比三元运算符的弊端?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中与if else相比三元运算符的弊端?相关的知识,希望对你有一定的参考价值。

三元运算符与 if else 的区别:
好处:可以简化 if else 代码;
弊端:因为是一个运算符,所以运算完必须要有一个结果。而 if else 运算完不需要一个结果。比如三元运算符内不能单独列出输出表达式。追问

为什么if else不需要结果,能举例说明吗?

追答

比如
int a = 1;
if(a==1)
System.,out.println("test");

else
System.,out.println("test1");

这里运算以后并没有不需要一个结果,而是打印出一个test或者test1

追问

疑惑了,你说输出打印的test不是结果,输出打印不算结果吗?那你说的结果是指的什么啊?

追答

三目运算符是一个赋值的表达式,也就是最终会有一个值被赋给某一个变量;
而if else中运算完以后可以做与判断中的条件没有关系的事,它并不需要将结果赋给谁谁谁。

追问

明白了,谢谢!

参考技术A 使用三元运算符肯定会得到一个结果,可以直接赋值给变量,视觉上比较利落。
三元运算符的弊端也是必须要有结果,没有结果的只好用if else追问

为什么if else不需要结果,能举例说明吗?

参考技术B 只有两个分支对或错吧 参考技术C 很高兴为您解答!

if else代码量会比较多,不简洁

希望对您有用!

java java.java中的三元if else运算符

//#solution 1       
sum[level % 2 == 0 ? 0 : 1] += root.val;

//#solution 2
int a = (level % 2 == 0) ? (sum[0] += root.val) : (sum[1] += root.val);

//#solution 3
if(level % 2 == 0) {
    sum[0] += root.val;
} else {
    sum[1] += root.val;
}

以上是关于Java中与if else相比三元运算符的弊端?的主要内容,如果未能解决你的问题,请参考以下文章

三元?运算符与 C# 中的传统 If-else 运算符 [重复]

java java.java中的三元if else运算符

java java.java中的三元if else运算符

java java.java中的三元if else运算符

java java.java中的三元if else运算符

java java.java中的三元if else运算符