Java Number & Math 类

在Java中,Number 类是一个抽象类,它是所有数值类的超类(父类)。Number 类本身不提供直接的实例化对象的功能,因为它是一个抽象类。但是,它提供了几个用于将数值转换为不同数值类型的方法,如 byteValue()shortValue()intValue()longValue()floatValue()doubleValue(), 和 BigDecimal 类型的 bigDecimalValue() 方法。这些方法允许你将一个数值类型转换为另一种数值类型,尽管转换时可能会有精度损失。

然而,Number 类本身不直接用于编程实践,而是通过它的子类,如 IntegerLongFloatDoubleByteShort, 和 BigDecimal 等来使用。

另一方面,Math 类是一个包含执行基本数学运算的方法的类。这些运算包括指数、对数、平方根、三角函数等。Math 类中的方法都是静态的,这意味着你可以直接使用类名来调用它们,而不需要创建 Math 类的实例。

Number 子类

  • Integer:封装了一个基本类型 int 的值。
  • Long:封装了一个基本类型 long 的值。
  • Float:封装了一个基本类型 float 的值。
  • Double:封装了一个基本类型 double 的值。
  • Byte:封装了一个基本类型 byte 的值。
  • Short:封装了一个基本类型 short 的值。
  • BigDecimal:提供了可变的、精确的小数点数值。与 float 和 double 相比,BigDecimal 非常适合进行精确的财务计算。

Math 类的一些常用方法

  • abs(double a):返回参数的绝对值。
  • ceil(double a):返回大于或等于参数的最小双精度浮点数,其值为整数。
  • floor(double a):返回小于或等于参数的最大双精度浮点数,其值为整数。
  • max(double a, double b):返回两个参数中较大者。
  • min(double a, double b):返回两个参数中较小者。
  • pow(double a, double b):返回第一个参数的第二个参数次幂的值。
  • random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
  • round(double a):返回最接近参数的 long
  • sqrt(double a):返回正确舍入的 double 值的正平方根。

示例

 

java复制代码

public class NumberAndMathExample {
public static void main(String[] args) {
// Number 子类示例
Integer numInteger = 100;
System.out.println("Integer: " + numInteger);
// Math 类方法示例
double sqrt = Math.sqrt(16);
System.out.println("The square root of 16 is: " + sqrt);
// 使用 Math.random() 生成随机数
double randomNum = Math.random();
System.out.println("A random number: " + randomNum);
}
}

在Java中,Number 类和 Math 类都是处理数值数据时非常有用的工具。Number 类通过其子类为不同的数值类型提供了封装,而 Math 类则提供了一系列静态方法来执行各种数学运算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值