三目运算的嵌套使用

在使用三元表达式,表达式 ? 表达式成立执行块 : 表达式不成立执行块。只能有两个值的选择。而在有些时候程序中需要有3个这样的值判断,但是又不想用if switch等这些分支语句繁琐的写一遍。那么这个时候,还是能用三元表达式的,只要将三元表达式嵌套起来使用,就可以将它变成多个选择。

//经典标准的三元表达式
int type = 0;
String typeNumer = type == 0 ? "type0" : "type1";//两个值的选择


//三目运算嵌套组合
type = 2;
typeNumer = type == 0 ? "type0" : (type == 1 ? "type1" : "type2");
System.out.println(typeNumer);
//变得有3个选择,或变得更多

走个DEMO查看一下,java:

/**
 * Copyright (C), 2000-2021, XXX有限公司
 * FileName: QuaternionOperator
 * Author: wangyetao
 * Date: 21-10-29 02:54:06
 * Description: 三目运算嵌套组合
 * History:
 * <author> <time> <version> <desc>
 * 作者姓名 修改时间 版本号 版本描述
 */
package simple.callback.quaternionoperator;

/**
 * @ClassName: QuaternionOperator
 * @Description: java类描述
 * @Author: wangyetao
 * @Date: 21-10-29 02:54:06
 */
public class QuaternionOperator {

    public static void main(String[] args) {
        //三目运算
        int type = 0;
        String typeNumer = type == 0 ? "type0" : "type1";
        System.out.println(typeNumer);

        //三目运算嵌套组合
        type = 1;
        typeNumer = type == 0 ? "type0" : (type == 1 ? "type1" : "type2");
        System.out.println(typeNumer);

        //三目运算嵌套组合
        type = 2;
        typeNumer = type == 0 ? "type0" : (type == 1 ? "type1" : "type2");
        System.out.println(typeNumer);

        //三目运算嵌套组合
        type = 3;
        typeNumer = type == 0 ? "type0" : (type == 1 ? "type1" : (type == 3 ? "type3" : "type4"));
        System.out.println(typeNumer);

        //三目运算嵌套组合
        type = 5;
        typeNumer = type == 0 ? "type0" :
                (type == 1 ? "type1" : (type == 2 ? "type2" : (type == 3 ? "type3" : (type == 4 ? "type4" : (type == 5 ? "type5" : (type == 6 ? "type6" : (type == 7 ? "type7" : "type8")
                ))))));
        System.out.println(typeNumer);

        //三目运算嵌套组合
        type = 6;
        typeNumer = type == 0 ? "type0" :
                (type == 1 ? "type1" : (type == 2 ? "type2" : (type == 3 ? "type3" : (type == 4 ? "type4" : (type == 5 ? "type5" : (type == 6 ? "type6" : (type == 7 ? "type7" : "type8")
                ))))));
        System.out.println(typeNumer);

        //三目运算嵌套组合
        type = 10;
        typeNumer = type == 0 ? "type0" :
                (type == 1 ? "type1" : (type == 2 ? "type2" : (type == 3 ? "type3" : (type == 4 ? "type4" : (type == 5 ? "type5" : (type == 6 ? "type6" : (type == 7 ? "type7" : "type8")
                ))))));
        System.out.println(typeNumer);
    }
}

输出:

type0
type1
type2
type3
type5
type6
type8

Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/u014132947/article/details/121027022