Java Number & Math 类
Java 中的 Number 类是一个抽象类,它是所有数值类的超类(父类)。这包括 Byte, Short, Integer, Long, Float, Double, 以及 BigDecimal 和 BigInteger 这些包装类。Number 类提供了将数值从一种类型转换为另一种类型的方法,例如 byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue() 等。
这里是一些基本用法示例:
java复制代码
|
Integer intNum = 10; |
|
Double doubleNum = 20.5; |
|
|
|
// 使用 Number 类的抽象方法 |
|
double doubleValue = intNum.doubleValue(); |
|
int intValue = doubleNum.intValue(); |
|
|
|
System.out.println("Integer as double: " + doubleValue); |
|
System.out.println("Double as integer: " + intValue); |
另一方面,Math 类是 Java 提供的一个工具类,包含用于执行基本数学运算的方法,如三角函数、指数函数、对数函数、舍入函数等。Math 类中的方法都是静态的,因此你可以直接通过类名调用它们,而无需创建 Math 类的实例。
以下是一些 Math 类方法的示例:
java复制代码
|
// 基本的数学运算 |
|
double add = Math.add(5.0, 3.0); |
|
double subtract = Math.subtract(5.0, 3.0); |
|
double multiply = Math.multiply(5.0, 3.0); |
|
double divide = Math.divide(5.0, 3.0); |
|
|
|
// 幂运算 |
|
double power = Math.pow(2.0, 3.0); |
|
|
|
// 求平方根 |
|
double sqrt = Math.sqrt(9.0); |
|
|
|
// 求绝对值 |
|
double abs = Math.abs(-5.0); |
|
|
|
// 四舍五入 |
|
double round = Math.round(5.4999); |
|
|
|
// 求最大值和最小值 |
|
int max = Math.max(10, 20); |
|
int min = Math.min(10, 20); |
|
|
|
// 三角函数 |
|
double sin = Math.sin(Math.toRadians(30)); |
|
double cos = Math.cos(Math.toRadians(30)); |
|
double tan = Math.tan(Math.toRadians(30)); |
|
|
|
// 指数和对数函数 |
|
double exp = Math.exp(1.0); |
|
double log = Math.log(Math.E); // 自然对数 |
|
|
|
System.out.println("Add: " + add); |
|
System.out.println("Subtract: " + subtract); |
|
System.out.println("Multiply: " + multiply); |
|
System.out.println("Divide: " + divide); |
|
System.out.println("Power: " + power); |
|
System.out.println("Sqrt: " + sqrt); |
|
System.out.println("Abs: " + abs); |
|
System.out.println("Round: " + round); |
|
System.out.println("Max: " + max); |
|
System.out.println("Min: " + min); |
|
System.out.println("Sin: " + sin); |
|
System.out.println("Cos: " + cos); |
|
System.out.println("Tan: " + tan); |
|
System.out.println("Exp: " + exp); |
|
System.out.println("Log: " + log); |
请注意,Math 类中的三角函数(如 sin, cos, tan)通常期望其参数是以弧度为单位的,因此你可能需要使用 Math.toRadians() 方法将角度转换为弧度。同样地,如果你需要将弧度转换回角度,可以使用 Math.toDegrees() 方法。
总的来说,Number 类是 Java 中所有数值类型的基类,而 Math 类则提供了执行基本数学运算的静态方法。