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语句,当然在大多数情况下两者是可以等价互换的 。
总结
大家如果有疑问都可以评论提出,有不足之处请大家批评指正,希望能多结识这方面的朋友,共同学习、共同进步。