1. /*
    2. 运算符之六:三元运算符
    3. 1.结构:(条件表达式)? 表达式1 : 表达式2
    4. 2. 说明
    5. ① 条件表达式的结果为boolean类型
    6. ② 根据条件表达式真或假,决定执行表达式1,还是表达式2.
    7. 如果表达式为true,则执行表达式1。
    8. 如果表达式为false,则执行表达式2。
    9. ③ 表达式1 和表达式2要求是一致的。
    10. ④ 三元运算符可以嵌套使用
    11. 3.
    12. 凡是可以使用三元运算符的地方,都可以改写为if-else
    13. 反之,不成立。
    14. 4. 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。
    15. */
    16. class SanYuanTest {
    17. public static void main(String[] args) {
    18. //获取两个整数的较大值
    19. int m = 12;
    20. int n = 5;
    21. int max = (m > n)? m : n;
    22. System.out.println(max);
    23. double num = (m > n)? 2 : 1.0;
    24. //(m > n)? 2 : "n大";//编译错误
    25. //**************************
    26. n = 12;
    27. String maxStr = (m > n)? "m大" : ((m == n)? "m和n相等" : "n大");
    28. System.out.println(maxStr);
    29. //*****************************
    30. //获取三个数的最大值
    31. int n1 = 12;
    32. int n2 = 30;
    33. int n3 = -43;
    34. int max1 = (n1 > n2)? n1 : n2;
    35. int max2 = (max1 > n3)? max1 : n3;
    36. System.out.println("三个数中的最大值为:" + max2);
    37. //不建议
    38. //int max3 = (((n1 > n2)? n1 : n2) > n3)? ((n1 > n2)? n1 : n2) : n3;
    39. System.out.println("三个数中的最大值为:" + max3);
    40. //该写成if-else:
    41. if(m > n){
    42. System.out.println(m);
    43. }else{
    44. System.out.println(n);
    45. }
    46. }
    47. }