文章目录
-
-
- System类
- Math类
- BigInteger类
-
System类
这部分来自于尚硅谷
Math类
java.lang.Math提供了一系列静态方法用于科学计算。其方法的参数和返回值类型一般为double型。
- abs 绝对值
- acos,asin,atan,cos,sin,tan 三角函数
- sqrt 平方根
- pow(double a,doble b) a的b次幂
- log 自然对数
- exp e为底指数
- max(double a,double b)
- min(double a,double b)
- random() 返回0.0到1.0的随机数
- long round(double a) double型数据a转换为long型(四舍五入)
- toDegrees(double angrad) 弧度—>角度
- toRadians(double angdeg) 角度—>弧度
这部分来自于尚硅谷
BigInteger类
Integer类作为int的包装类,能存储的最大整型值为2^31 -1, Long类也是有限的,最大为2^63-1。 如果要表示再大的整数,不管是基本数据类型还是他们的包装类都无能为力,更不用说进行运算了。
java.math包的BigInteger可以表示不可变的任意精度的整数。 BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外, BigInteger 还提供以下运算:模算术、 GCD 计算、质数测试、素数生成、位操作以及一些其他操作。
- 构造器
BigInteger(String val): 根据字符串构建BigInteger对象
常用方法
- public BigInteger abs():返回此 BigInteger 的绝对值的 BigInteger。
- BigInteger add(BigInteger val) :返回其值为 (this + val) 的 BigInteger
- BigInteger subtract(BigInteger val) :返回其值为 (this - val) 的 BigInteger
- BigInteger multiply(BigInteger val) :返回其值为 (this * val) 的 BigInteger
- BigInteger divide(BigInteger val) :返回其值为 (this / val) 的 BigInteger。整数
相除只保留整数部分。 - BigInteger remainder(BigInteger val) :返回其值为 (this % val) 的 BigInteger。
- BigInteger[] divideAndRemainder(BigInteger val):返回包含 (this / val) 后跟
(this % val) 的两个 BigInteger 的数组。 - BigInteger pow(int exponent) :返回其值为 (thisexponent) 的 BigInteger。
这部分来自于尚硅谷
BigDecimal类
一般的Float类和Double类可以用来做科学计算或工程计算,但在商业计算中,要求数字精度比较高,故用到java.math.BigDecimal类。
- BigDecimal类支持不可变的、任意精度的有符号十进制定点数。
- 构造器
-
- public BigDecimal(double val)
-
- public BigDecimal(String val)
- 常用方法
-
- public BigDecimal add(BigDecimal augend)
-
- public BigDecimal subtract(BigDecimal subtrahend)
-
- public BigDecimal multiply(BigDecimal multiplicand)
-
- public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
这部分来自于尚硅谷
@Testpublic void test4(){
System.out.println(System.getProperty("user.name"));System.out.println(System.getProperty("os.name"));System.out.println(System.getProperty("java.version"));System.out.println(System.getProperty("os.version"));BigInteger big = new BigInteger("123123123423543453453412432431367");System.out.println(big);BigDecimal bigF = new BigDecimal("12435.123");BigDecimal bigF1 = new BigDecimal("11");//支持任意精度的小数位System.out.println(bigF.divide(bigF1,12,BigDecimal.ROUND_HALF_UP));}
该博客图片来源于尚硅谷宋老师教学课件