三元运算符
/*
- 运算符之六:三元运算符
- 1.结构:(条件表达式)?表达式1:表达式2
- 2.说明:
- ①条件表达式的结果是一个boolean类型变量
- ②根据条件表达式的真或假,true执行表达式1,false执行表达式2
- ③表达式1和表达式2要求是一致的,需要能够同一类型
- ④三元运算符是可以嵌套使用的
- 3.凡是可以使用三元运算符的地方,都可以改写成if-else,优先选择三元运算符,原因:简洁且计算效率高
- 但凡是用if-else的地方,无法全部改写成三元运算
*/
public class SanYuanTest {
public static void main(String[] argz) {
//获取两个整数的较大值
int m = 12;
int n = 5;
int max = (m>n)?m:n;
System.out.println("max="+max);
double num = (m>n)?2:1.0;
System.out.println("num="+num);//统一成double型
//(m>n)?2:"n大"//编译错误
String maxStr = (m>n)?"m大":"n大";
System.out.println(maxStr);
m=n=520;
maxStr = (m>n)?"m大":(m == n)?"m和n相等":"n大";
System.out.println(maxStr);
//**********************************************
//获取三个数的最大值
int n1 = 12;
int n2 = 30;
int n3 = -43;
int max1 = (n1>n2)?n1:n2;
int max2 = (max1>n3)?max1:n3;
System.out.println("三个数中的最大值为:"+max2);
int max3 = (((n1>n2)?n1:n2)>n3)?((n1>n2)?n1:n2):n3;
System.out.println("三个数中的最大值为:"+max3);
//不建议这样写,可读性太大,并不是代码行数越少速度越快,要看算法的快慢
//改写成if-else
if(m>n) {
System.out.println(m);
}else {
System.out.println(n);
}
}
}
输出:
max=12
num=2.0
m大
m和n相等
三个数中的最大值为:30
三个数中的最大值为:30
520
本文详细介绍了Java中三元运算符的用法,通过实例演示如何在代码中使用它来代替if-else,提升代码简洁性和执行效率。重点涵盖了整数、浮点数比较以及字符串判断。
397

被折叠的 条评论
为什么被折叠?



