情景导入:
我们是如何比较两个数的大小的?
int a = 5;
int b = 10;
if(a > b){
System.out.println("a" + "为较大者");
}else{
System.out.println("b" + "为较大者");
}
问题引入:
那么我们能否根据两个数的大小比较的思想去得出比较三个数大小的一些方法呢?
疑难解析:
Way1:引入中间变量temp,参考两个数的大小比较
//Way1:引入中间变量,参考两数大小比较
int temp,min;
if (num1 < num2){
temp = num1;
}
else{
temp = num2;
}
if (temp < num3){
min = temp;
}
else {
min = num3;
}
Way2:if级联语句
//Way2:if级联语句
if( i < j && i < k){
min = i;
}else if( j < i && j < k){
min = j;
}else{
min = k;
}
Way3:三元运算符的运用(最简洁,且思维含量最高)
// Way3:三元运算符
int min = num1 > num2 ? (num2 > num3 ? num3 : num2) : (num1 > num3 ? num3 : num1);
补充:什么是三元运算符?
综上所述,三种方法都可以成功的比较出哪个数最大,哪个数最小,但是每种方法的思维含量与简洁度不一,个人更偏向于第三种方法,因为三目运算符的运用巧妙地避开了中间量,由难化易!
最后,如果读者有更好的方法,欢迎私下留言!!!