Java 数字与数学类
Java 不仅提供了基本数据类型(如 int, double)来处理数字,还提供了一系列的包装类 (Wrapper Classes) 以及一个强大的 Math 类,用于更复杂的操作和计算。
数字包装类 (Number Wrapper Classes)
对于每一种基本数据类型,Java 都提供了一个对应的包装类。这些类将基本类型“包装”成对象,从而赋予它们更多的功能,例如类型转换或参与面向对象的操作(如在泛型集合中存储)。
自动装箱与拆箱 (Autoboxing and Unboxing)
从 Java 5 开始,Java 引入了自动装箱和拆箱机制,使得基本类型和包装类之间的转换变得无缝。
- 自动装箱 (Autoboxing): 自动将基本类型转换为对应的包装类对象。
- 自动拆箱 (Unboxing): 自动将包装类对象转换为对应的基本类型。
包装类的常用方法
包装类提供了许多有用的静态方法和实例方法。
parseXXX(): 将字符串转换为对应的基本类型(例如Integer.parseInt("123"))。valueOf(): 将字符串或基本类型转换为对应的包装类对象。toString(): 将数值转换为字符串。- 比较:
equals()用于比较两个对象的值是否相等;compareTo()用于比较两个数值的大小。
Math 类
java.lang.Math 类包含了一系列用于执行基本数学运算的静态方法,如指数、对数、平方根和三角函数。你无需创建 Math 类的实例,直接通过类名调用其方法即可。
常用 Math 方法
Math.abs(x): 返回x的绝对值。Math.max(a, b): 返回a和b中的较大值。Math.min(a, b): 返回a和b中的较小值。Math.sqrt(x): 返回x的正平方根。Math.pow(a, b): 返回a的b次幂 (a^b)。Math.round(x): 返回x四舍五入后的long或int值。Math.ceil(x): 返回大于或等于x的最小整数(向上取整)。Math.floor(x): 返回小于或等于x的最大整数(向下取整)。Math.random(): 返回一个[0.0, 1.0)范围内的随机double值。
三角函数
Math.sin(a),Math.cos(a),Math.tan(a): 参数a是以弧度 (radians) 为单位的角度。Math.toDegrees(rad): 将弧度转换为角度。Math.toRadians(deg): 将角度转换为弧度。
示例: