三元运算符
三元运算符格式
练习代码
//练习:获取两个int型变量的较大值
int m = 20;
int n = 40;
int max = (m > n)? m : n;
System.out.println("较大值为:" + max);
//例子:比较两个变量m、n的大小。如果m大,返回"m大",如果n大,返回"n大"。否则,返回:相等。
//三元运算符可以相互嵌套
m = 40;
String maxStr = (m > n)? "m大" : ((m == n)? "相等" : "n大");
System.out.println(maxStr);
//例子:获取三个数的最大值
int m1 = 10;
int m2 = 5;
int m3 = 12;
int max1 = (m1 > m2)? m1 : m2;
int max2 = (max1 > m3)? max1 : m3;
//不建议嵌套使用:
//int max2 = (((m1 > m2)? m1 : m2) > m3)? ((m1 > m2)? m1 : m2) : m3;
System.out.println("三个数的最大值为:" + max2);
特别说明的
条件表达式,是一个boolean类型的变量。如果变量值为true,则返回表达式1;否则,返回表达式2
表达式1和表达式2要求数据类型一致。(此时的一致,不等于相同)
三元运算符可以相互嵌套
使用三元运算符的操作都可以转换为使用if-else完成。反之,不成立!
如果开发中既可以使用三元运算符,又可以使用if-else,应该选择:三元运算符。 因为效率高!!