格式:
(条件表达式)?表达式1:表达式2;
条件表达式为 true,运算后的结果是表达式 1;
条件表达式为 false,运算后的结果是表达式2;
表达式1 和表达式2 为同种类型;
三元运算符与 if-else 的联系与区别:
1)三元运算符可简化 if-else 语句;
2)三元运算符要求必须返回一个结果;
3)If后的代码块可有多个语句;
/* 三元运算符:(条件表达式)? 表达式1:表达式2; 要求:表达式1与表达式2为同种数据类型。 既然是运算符,就一定会有运算的结果,结果的数据类型与表达式1,2的类型一致。 三元运算符在一定程度上可以与 if-else 互换。 三元运算符一定可以转换为 if-else,反之不成立! */ public class TestSanYuan { public static void main(String[] args) { int i = 20; int j = 20; //此时 max 记录了 i与j 的较大值 int max = (i > j)? i : j; System.out.println(max); //String str = (i > j)? "i大" : "j大"; String str = (i>j)?"i大" : (i == j)? "相等" : "j大"; System.out.println(str); //互换 if (i >= j) { System.out.println("较大值为:" + i); }else{ System.out.println("较大值为:" + j); } //练习:如何使用三元运算符,输出三个数中的较大值; int m = 12; int n = 23; int k = -9; int max1 = (m > n)? m : n ; int max2 = (max1 > k)? max1 : k; System.out.println(max2); } }
个人微信公公众号:“遇见王川”。