如何求出三个数中的最大数?
首先我们来看版本一:
/**
* @author guqueyue
* @Date 2020/2/15
* 求三个数中的最大数
* 版本一
**/
public class ThreeMax1 {
public static void main(String[] args) {
// 随机产生三个固定序列的0-100之间的整数
Random random = new Random(47);
int a = random.nextInt(101);
int b = random.nextInt(101);
int c = random.nextInt(101);
System.out.println("生成的三个整数为:" + a + ", " + b + ", " + c);
// 假定a为最大值
if (a < b)
a = b;
if (a < c)
a = c;
System.out.println("最大数为:" + a);
}
}
运行结果:
那么如何用一行代码求出三个数中的最大数?
首先我们要了解Java三元操作符的概念
三元操作符也称为条件操作符,其表达式采用如下形式:
boolean-exp ? value0 : value1
若boolean-exp(布尔表达式)的值为true,就计算value0;
若boolean-exp(布尔表达式)的值为false,就计算value1;
并且这个计算结果就是操作符最终产生的值。
/**
* @author guqueyue
* @Date 2020/2/15
* 三元操作符和if-else可以互相替换,但是三元运算符要更加简洁
**/
public class TernaryIfElse {
static int ternary(int i) {
return i < 10 ? i * 100 : i * 10;
}
static int standardIfElse(int i) {
if (i < 10)
return i * 100;
else
return i * 10;
}
public static void main(String[] args) {
System.out.println(ternary(9));
System.out.println(ternary(10));
System.out.println(standardIfElse(9));
System.out.println(standardIfElse(10));
}
}
运行结果是一样的:
那么接下来我们便可以一行代码求出三个数中的最大值
/**
* @author guqueyue
* @Date 2020/2/15
* 求三个数中的最大数
* 版本二:运用三元操作符 if-else
**/
public class ThreeMax2 {
public static void main(String[] args) {
// 随机产生三个固定序列的0-100之间的整数
Random random = new Random(14);
int a = random.nextInt(101);
int b = random.nextInt(101);
int c = random.nextInt(101);
System.out.println("生成的三个整数为:" + a + ", " + b + ", " + c);
// 假定a为最大值, 用三目运算符求出最大值,赋值给a
a = (a > b && a > c) ? a : ((b > c) ? b : c);
System.out.println("最大值为:" + a);
}
}
大功告成,运行结果如下: