JAVA中的Math()

java.math.Math类常用的常量和方法:

Math.PI 记录的圆周率
Math.E记录e的常量
Math.abs 求绝对值
Math.sin 正弦函数 Math.asin 反正弦函数
Math.cos 余弦函数 Math.acos 反余弦函数
Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数
Math.toDegrees 弧度转化为角度 Math.toRadians 角度转化为弧度
Math.ceil 得到不小于某数的最大整数
Math.floor 得到不大于某数的最大整数

例如:Math.floor(12.7) =12.0

            Math.ceil(12.7) =13.0

ceil()是天花板,即向上取整。floor是地板,向下取整。round是四舍五入。

 

Math.IEEEremainder 求余
Math.max 求两数中最大
Math.min 求两数中最小
Math.sqrt 求开方
Math.pow 求某数的任意次方, 抛出ArithmeticException处理溢出异常

Math.sqrt(x):平方根
Math.pow(x,y):x的y次方

Math.exp 求e的任意次方
Math.log10 以10为底的对数
Math.log 自然对数
Math.rint 求距离某数最近的整数(可能比某数大,也可能比它小)
Math.round 同上,返回int型或者long型(上一个函数返回double型)
Math.random 返回0,1之间的一个随机数

java.math.BigInteger(大整数):
BigInteger bi1=new BigInteger("1234567890123456890");
BigInteger bi2=BigInteger.valueOf(123L);
bi1=bi1.add(bi2);//b1+b2
bi1=bi1.multiply(bi2);//b1*b2
bi1=bi1.subtract(bi2);//b1-b2
bi1=bi1.divide(bi2);// b1/b2

java.math.BigDecimal(大浮点数):
BigDecimal bd = new BigDecimal("3.1415926");
bd = bd.setScale(2,BigDecimal.ROUND_DOWN);//取3.1415926小数点后面二位


转自http://april19880317.blog.51cto.com/1938095/769810

### Java 中 `Math.abs` 方法的使用说明 #### 方法概述 `java.lang.Math.abs()` 是 Java 提供的一个静态方法,用于计算指定数值的绝对值。该方法支持多种数据类型的输入,包括 `int`, `double`, `long`, 和 `float`。无论传入的是正数还是负数,它都会返回对应的正值。 #### 参数与返回值 - **参数**: 可以为任意基本数据类型(如 `int`, `double`, `long`, 或 `float`),表示需要求取绝对值的数值。 - **返回值**: 返回对应数据类型的绝对值。 以下是具体实现方式及其示例: --- #### 示例代码展示 ##### 整型 (`int`) 的绝对值 ```java public class TestIntAbs { public static void main(String[] args) { int number = -10; int result = Math.abs(number); System.out.println("整型的绝对值: " + result); // 输出:整型的绝对值: 10 } } ``` ##### 浮点型 (`double`) 的绝对值 ```java public class TestDoubleAbs { public static void main(String[] args) { double number = -22.5; double result = Math.abs(number); System.out.println("浮点型的绝对值: " + result); // 输出:浮点型的绝对值: 22.5 } } ``` ##### 长整型 (`long`) 的绝对值 ```java public class TestLongAbs { public static void main(String[] args) { long number = -987654321L; long result = Math.abs(number); System.out.println("长整型的绝对值: " + result); // 输出:长整型的绝对值: 987654321 } } ``` ##### 单精度浮点型 (`float`) 的绝对值 ```java public class TestFloatAbs { public static void main(String[] args) { float number = -33.3f; float result = Math.abs(number); System.out.println("单精度浮点型的绝对值: " + result); // 输出:单精度浮点型的绝对值: 33.3 } } ``` 以上各示例展示了不同数据类型下如何利用 `Math.abs()` 获取其绝对值[^1]。 --- #### 特殊情况处理 当传递给 `Math.abs()` 的值为最小可能值时(例如对于 `Integer.MIN_VALUE` 或 `Long.MIN_VALUE`),由于这些值无法被转换为其正值而不溢出,因此会返回相同的负值作为结果。这是需要注意的一点[^5]。 --- #### BigDecimal 绝对值 除了基础数据类型外,在某些场景中还需要操作高精度数字对象 `BigDecimal` 来获得更精确的结果。此时可采用如下方法: ```java import java.math.BigDecimal; public class TestBigDecimalAbs { public static void main(String[] args) { BigDecimal bd = new BigDecimal("-123456789.123"); BigDecimal absBd = bd.abs(); System.out.println(absBd.toString()); // 输出:123456789.123 } } ``` 这里调用了 `BigDecimal` 类自身的 `.abs()` 方法而非依赖于 `Math.abs()` 函数[^2]。 --- #### 总结 综上所述,无论是简单的基本数据类型还是复杂的大数运算需求,Java 均提供了相应工具帮助开发者轻松完成绝对值计算任务。务必留意极端情况下可能出现的行为异常现象以便合理规避风险。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值