在使用三元表达式,表达式 ? 表达式成立执行块 : 表达式不成立执行块。只能有两个值的选择。而在有些时候程序中需要有3个这样的值判断,但是又不想用if switch等这些分支语句繁琐的写一遍。那么这个时候,还是能用三元表达式的,只要将三元表达式嵌套起来使用,就可以将它变成多个选择。
走个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
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230510.html原文链接:https://javaforall.net
