/*
运算符之六:三木(三元)运算符
1.结构:(条件表达式)?表达式1:表达式2
说明
- 条件表达式的结果为Boolean型
- 根据表达式真或假,决定执行表达式1还是表达式2.
如果表达式为true,则执行表达式1.
如果表达式为false,则执行表达式2. - 表达式1和表达式2要求一致
- 三元运算是可以嵌套使用的
2.凡是可以用三元运算符的地方都可以改写成if-else ,但是能用if-else 的地方一定能用三元。if - else更具有普遍适用性。
3.如果既可以运用三元也可以用if-else 优先用三元,简洁,更快,运算符比流程控制更快
*/
class SanYuanTest{
public static void main (String[] args){
//获取两个整数的最大时
int m = 12;
int n = 5;
int max = (m > n) ? m : n;
System.out.println(max);
double num = (m>n) ? 2 : 10.2;
//(m > n)? 2 :"n大";//编译错误
//***********嵌套使用**************
n = 12
String 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>n2) ? max1 : n3;
System.out,println("三个书中的最大值为:" + max2);
//或者
int max3 = ((n1>n2)?n1:n2)>n3)?((n1>n2)?n1:n2):n3;
System.out,println("三个数中的最大值为:" + max);
}
}