三元运算符 1、结构 (条件表达式) ? 表达式1 : 表达式2; 2、说明 条件表达式的结果都为boolean类型根据条件表达式真或假,决定执行表达式1,还是表达式2 如果表达式为true,则执行表达式1如果表达式为false,则执行表达式2 int m = 10; int n = 20; int max = (m > n) ? m : n; System.out.println(max); 表达式1和表达式2要求是一致的 double num = (m > n) ? 10 : 20.0;//正确 (m > n) ? 10 : "m大";//错误 获取三个数的最大值 int n1 = 10; int n2 = 20; int n3 = -30; int max1 = (n1 > n2) ? n1 : n2; int max2 = (max1 > n3) ? max1 : n3; System.out.println(max2); 三元运算符可以嵌套使用(但不建议) int max = (((n1 >n2) ? n1 : n2) > n3) ? ((n1 > n2) ? n1 :n2) : n3; System.out.println(max); 3、三元运算符&if-else 凡是可以使用三元运算符的地方,都可以改写为if-else,反之,不成立如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符 原因: 简洁执行效率高