三目运算符太有名了,只要是二选一,几乎都用了三目运算。但是,除了三目运算符,还有更简洁的写法吗?
在 Java 中,比较两个数字并获取最小值可以通过多种方式实现。以下是几种常见的方法:
1. 使用条件语句
我们可以使用简单的条件语句(如 if 语句)来比较两个数字并获取最小值:
public class MinExample {
public static void main(String[] args) {
int num1 = 10;
int num2 = 5;
int minNum;
if (num1 < num2) {
minNum = num1;
} else {
minNum = num2;
}
System.out.println("最小值是: " + minNum); // 输出: 最小值是: 5
}
}
两个数字比较如果这样写,肯定会被周围同事嘲笑代码冗余。
2. 使用三元运算符
三元运算符提供了一种更简洁的条件表达式形式,可以用来获取最小值:
public class MinExample {
public static void main(String[] args) {
int num1 = 10;
int num2 = 5;
// 使用三元运算符获取最小值
int minNum = (num1 < num2) ? num1 : num2;
System.out.println("最小值是: " + minNum); // 输出: 最小值是: 5
}
}
这种写法比较普遍,也比较受推崇,看起来也更高级一些。
3. 使用 Math.min() 方法
Java 提供了 Math.min() 方法,可以直接用来获取两个数字中的最小值。示例代码如下:
public class MinExample {
public static void main(String[] args) {
int num1 = 10;
int num2 = 5;
// 使用 Math.min() 获取最小值
int minNum = Math.min(num1, num2);
System.out.println("最小值是: " + minNum); // 输出: 最小值是: 5
}
}
在源码中,我们更多看到的是这种写法,调用Math函数的静态方法。
Math的静态方法其实也是对三元运算符的封装。
4. 示例汇总
以下是一个完整的示例,展示上述三种方法的使用:
public class MinExample {
public static void main(String[] args) {
int num1 = 10;
int num2 = 5;
// 方法 1: 使用 Math.min()
int minWithMathMin = Math.min(num1, num2);
// 方法 2: 使用条件语句
int minWithIf;
if (num1 < num2) {
minWithIf = num1;
} else {
minWithIf = num2;
}
// 方法 3: 使用三元运算符
int minWithTernary = (num1 < num2) ? num1 : num2;
System.out.println("使用 Math.min() 获取的最小值: " + minWithMathMin); // 输出: 5
System.out.println("使用条件语句获取的最小值: " + minWithIf); // 输出: 5
System.out.println("使用三元运算符获取的最小值: " + minWithTernary); // 输出: 5
}
}
最后总结
在 Java 中,比较两个数字并获取最小值的方法有多种选择。Math.min() 方法是最简洁的选择,而条件语句和三元运算符提供了更多的灵活性。选择哪种方式可以根据个人偏好和具体需求来决定。
不止java语言,在JavaScript中也有Math函数,如果追求更简洁的写法,在js中也可以使用Math函数来比较两个数字的大小,并返回其中一个。
领取专属 10元无门槛券
私享最新 技术干货