一、基础知识
三元运算符,也称为条件运算符,是一种简化条件表达式的语法结构。在 Java 中,三元运算符的语法如下:
result = condition ? expression1 : expression2;
condition
是一个布尔表达式,如果为真(true
),则整个表达式的值是expression1
;- 如果
condition
为假(false
),则整个表达式的值是expression2
。- 例如:int c=(a>=b)?a:b; 如果a>=b 则把a的值赋给c 否则把b的值赋给c
为什么要用到三目运算符呢?来看一个简单的场景
public static void main(String[] args) {
int a=1;
int b=2;
if(a>b){
System.out.println(a);
}
if(b>a){
System.out.println(b);
}
}
再来看一个使用三目运算符的场景:
public static void main(String[] args) {
int a=1;
int b=2;
int c=(a>=b)?a:b;
System.out.println(c);
}
这么一看是不是用三元运算符解决问题比较简洁呢
二、常见用法
2.1嵌套三目运算符:
上一个例子使用的是寻求两个数中的最大数 那如果三个数求最大值怎么办呢?这个时候就要用到嵌套了
public static void main(String[] args) {
int a=1;
int b=2;
int c=3;
int d=((a>b)?((a>c)?a:c):((b>c)?b:c));
System.out.println(d);
}
我们慢慢的来刨析一下执行顺序: 首先是判断a是否大于b? 如果a大于b则执行 (a>c)?a:c ,否则执行(b>c)?b:c
这么一看是不是使用三元表达式要比你用一堆 if 看起来舒服一些?
2.2 作为参数
还是求三个数最大值 我们还可以用三目运算符
public static void main(String[] args) {
int a=1;
int b=2;
int c=5;
int d = Math.max((a > b) ? a : b, c);
System.out.println(d);
}
这里的三目运算符用来当作参数
2.3 非空验证
String result = (value != null) ? value : "Default";
以上就是三目运算符的一些基本用法,虽然在实际开发过程中也行有更好的解决方案,但是该会的东西还是得会!!!
如果觉得有用就点个赞支持一下 谢谢各位