java中的 Number & Math 类

本文深入探讨了Java中的Number类及其子类,包括Integer、Double等,它们如何实现数据类型的装箱与拆箱。同时,详细介绍了Math类提供的各种静态方法,用于执行基本算术运算、三角函数和指数对数计算,如sin、cos、exp和log等。

Number类:

内置数据类型:int、short、byte、long、double等

内置数据类型都有自己对应的包装类(Integer、Long、Short、Byte、Double、Float),这些包装类都是抽象类Number的子类。

当内置数据类型当做一个对象的时候,编辑器会把内置类型装箱成包装类。同时也可以拆箱。Number 类属于 java.lang 包。

Math类:

java中的Math类包含了执行基本的算术运算的方法和属性,如初等指数、对数、平方根和三角函数。

Math的方法都被定义为static形式,Math类可以直接在主函数中调用。

例:System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));

Number & Math 类方法:

方法描述方法描述
xxxValue()将Number对象转换成xxx类型的值并返回compareTo()将Number对象与参数比较
equals()判断Number对象与参数是否相等valueOf()返回Number对象指定的内置数据类型
toString()以字符串形式返回值parseInt()将字符串解析为int类型
abs()返回参数的绝对值ceil()返回大于等于( >= )给定参数的最小整数
floor()返回小于等于(<=)给定参数的最大整数rint()返回与参数最接近的整数。返回类型为double
round()它表示四舍五入,算法为 Math.floor(x+0.5)min()返回两个参数中的最小值
max()返回两个参数中的最大值exp()返回自然数底数e的参数次方
log()返回参数的自然数底数的对数值pow()返回第一个参数的第二个参数次方
sqrt()求参数的算术平方根sin()求指定double类型参数的正弦值
cos()求指定double类型参数的余弦值tan()求指定double类型参数的正切值
asin()求指定double类型参数的反正弦值acos()求指定double类型参数的反余弦值
atan()求指定double类型参数的反正切值atan2()将笛卡尔坐标转换为极坐标,并返回极坐标的角度值
toDegrees()将参数转化为角度toRadians()将角度转换为弧度
random()返回一个随机数  

 

 

### Java `Math` 概述 在 Java 中,`Math` 封装了常用的数学运算,提供了基本的数学操作,如指数、对数、平方根和三角函数等[^1]。该位于 `java.lang` 包内,因此无需导入即可直接使用。 由于 `Math` 的构造方法被声明为私有 (`private`),所以无法实例化此对象;所有的成员方法均为静态方法(`static`),这意味着可以通过名直接调用这些方法而不需要创建任何对象[^2]。 ### 常见方法及其应用 #### 绝对值计算 - **abs()**: 返回给定数值的绝对值。 ```java System.out.println(Math.abs(-5)); // 输出 5 ``` #### 向上取整与向下取整 - **ceil()**: 取不小于给定浮点数的最大整数部分。 - **floor()**: 取不大于给定浮点数的最大整数部分。 ```java System.out.println(Math.ceil(4.3)); // 输出 5.0 System.out.println(Math.floor(4.7)); // 输出 4.0 ``` #### 数字比较 - **max() 和 min()**: 分别获取两个参数之间的最大值和最小值。 ```java int largerNumber = Math.max(10, 20); // 获取较大的那个数 int smallerNumber = Math.min(10, 20); // 获取较小的那个数 ``` #### 幂运算及开方 - **pow(base, exponent)**: 计算 base 的 exponent 次幂。 - **sqrt(value)**: 对 value 开平方根。 ```java double powerResult = Math.pow(2, 3); // 结果为8.0 double squareRoot = Math.sqrt(16); // 结果为4.0 ``` #### 随机数生成 - **random()**: 生产介于 0.0 (含) 到 1.0 (不含) 范围内的伪随机双精度浮点型数。 ```java double randomNumber = Math.random(); // 得到一个随机的小数 ``` #### 四舍五入处理 - **round(float|double a)**: 将指定 float 或 double 参数按照&ldquo;四舍六入&rdquo;的原则转化为最近邻近的 long 整数。 ```java long roundedValue = Math.round(2.7f); // 结果为3L ``` #### 角度单位转换 - **toDegrees(radianAngle)**: 把弧度转成角度。 - **toRadians(degreeAngle)**: 把角度转成弧度。 ```java double degrees = Math.toDegrees(Math.PI / 2); // PI/2 弧度约等于90&deg; double radians = Math.toRadians(180); // 180&deg;即&pi;弧度 ``` #### 三角函数支持 - **sin(), cos(), tan()**: 提供正弦、余弦以及正切功能。 - **asin(), acos(), atan()**: 实现反正弦、反余弦还有反正切的功能。 ```java // 正弦值 double sineOfPiOverTwo = Math.sin(Math.PI / 2); // 余弦值 double cosineOfZero = Math.cos(0); // 正切值 double tangentOfFortyFiveDegree = Math.tan(Math.PI / 4); // 反正切值(单参) double arctangentSingleParam = Math.atan(1); // 反正切值(两参),适用于极坐标系下的角度求解 double arctangentDoubleParams = Math.atan2(1, 1); ``` #### 自然常量 e 的幂次方 - **exp(x)**: 表达 \(e^{x}\),其中 e 是自然底数。 ```java double exponentialEToThePowerThree = Math.exp(3); ``` #### 自然对数 ln() - **log(a)**: 计算以 e 为基础的对数 \(\ln{a}\). ```java double naturalLogarithmOfTen = Math.log(10); ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值