一、基本语法

    语法:条件表达式?表达式1:表达式2;

运算规则:

1、如果条件表达式为true,运算后的结果是表达式1;

2、如果条件表达式为false,运算后的结果是表达式2;

二、案例演示

        int a = 99;
        int b = 10;
        int result = a > b ? a++ : b--;  //表达式1  先赋值后自增
        System.out.println(result);//输出99
        System.out.println("a = " + a);//输出 100
        System.out.println("b = " + b);//输出10

三、三元运算符细节

        int a = 3;
        int b = 8;
        int c = a > b? 2.2 : 3.3;//改为    int c = a > b?(int) 2.2 : (int)3.3;
        System.out.println(c);
        double d = a > b ? a : b + 3;//满足 int --> double

 ##表达式1和表达式2要为可以赋给接受变量的类型(或可以自动转换)

##三元运算符可以转成 if--else 语句

        int a = 3;
        int b = 8;
        int c = a > b? 2 : 4;
        System.out.println(c);

        if (a > b){
            System.out.println("2");
        }else{
            System.out.println("4");
        }

四、案例:实现三个数的最大值

        int a = 56;
        int b = 122;
        int c = 100;
        int max1 = a > b ? a : b;
        int max2 = max1 > c ? max1 : c;//推荐使用第一种

 //       int max = (a > b? a : b) > c ?
      //                  (a > b? a : b):c;

        System.out.println(max2);

更多推荐

Java_三元运算符