【Java开发】三元运算符:问号和冒号? :表达式

发布于:2022-10-18 ⋅ 阅读:(574) ⋅ 点赞:(0)

1、三元运算符

也称之为三目运算符由三部分组成,格式如下:

(关系表达式) ? 表达式1:表达式2;

如:max = ( a > b ) ? a : b ,括号也可省略。

当 a > b,条件表达式取真(true),结果取表达式1的值,max = a。

当 a ≤ b,条件表达式取假(false),结果取表达式2的值,max = b。

示例:

@Test
public void maxAccount(){
    //输出两个数中的较大数
    int x=1;
    int y=2;
    int z = x > y ? x : y;
    System.out.println(z);
}

2、三元运算符与if-else的区别

if-else语句:

@Test
public void maxAccount(){
    //输出两个数中的较大数
    int x=1;
    int y=2;
    int z;
    if(x>y){
        z = x;
    }else{
        z = y;
    }
    System.out.println(z);
}

两者的作用或目的其实区别不大,三元运算符(? :)的最大作用体现在简化代码,提高代码效率,使得代码更加地赏心悦目~

 具体不同👇:

①两者之间对于返回值有不同的要求。三元运算符是必须要有返回值的要求,其运算后一定有一个返回值返回给开发人员使用,而if-else不一定有返回值,其执行结果可能是赋值语句或者是输出语句。 

②两者的性能不同。三元运算符的运算性能高于if-else。

③两者使用范围不同,在ireport的一些动态执行的情况下,只能用三元运算符而不能用if-else语句,当然在大多数情况下两者是可以等价互换的 。 


总结

大家如果有疑问都可以评论提出,有不足之处请大家批评指正,希望能多结识这方面的朋友,共同学习、共同进步。


网站公告

今日签到

点亮在社区的每一天
去签到