黑马程序员技术交流社区
标题: Math、Random、System、BigInteger、BigDecimal [打印本页]
作者: 不存在的奇迹 时间: 2015-4-16 21:49
标题: Math、Random、System、BigInteger、BigDecimal
Math类☆
(1)针对数学运算进行操作的类,Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
(2)成员变量
public static final double E
比任何其他值都更接近 e(即自然对数的底数)的 double 值
public static final double PI
比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值
(3)成员方法
public static int abs(int a)
绝对值
public static double ceil(double a)
向上取整(例如12.34 向上取整就是13.0)
public static double floor(double a)
向下取整(例如12.34 向下取整就是12.0)
public static int max(int a,int b)
最大值(float,double等都可以用这个方法,并且可以嵌套使用)
public static double pow(double a,double b)
a的b次幂
public static double random(): [0.0,1.0)
返回带正号的double值,该值大于等于0.0且小于1.0
public static int round(float a)
四舍五入(原理是将a加上1/2,然后直接强制转为int)
public static double sqrt(double a)
正平方根
(3)案例:
A:猜数字小游戏
B:获取任意范围的随机数
Random类
(1)此类用于产生随机数
(2)构造方法:
Random()
默认种子,是当前时间的毫秒值,每次产生的随机数不同
Random(long seed)
给出指定的种子,只要种子相同,随机数就相同
(3)成员方法:
int nextInt()
返回int范围内的随机数
int nextInt(int n)
返回[0,n)范围内的随机数
System类☆
(1)系统类,提供了一些有用的类字段和方法,它不能被实例化
(2)成员方法
public static void gc()
public static void exit(int status)
终止当前正在运行的JVM,参数status用作状态码,非0表示异常终止
public static long currentTimeMillis()
获取当前时间的毫秒值,可以通过前后时间差来知道程序运行了多少时间
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
src - 源数组
srcPos - 源数组中的起始位置
dest - 目标数组
destPos - 目标数据中的起始位置
length - 要复制的数组元素的数量
这里的方法名字arraycopy是不规范的,因为此方法是很早就发布的
BigInteger类
(1)针对大整数的运算,可以对超出Integer范围内的数据进行运算
(2)构造方法
public BigInteger(String s)
(3)成员方法
public BigInteger add(BigInteger val) 加
public BigInteger subtract(BigInteger val) 减
public BigInteger multiply(BigInteger val) 乘
public BigInteger divide(BigInteger val) 除
public BigInteger[] divideAndRemainder(BigInteger val) 商和余数
BigDecimal类
(1)float和double类型数据做运算会很容易丢失精度。是因为数据存储和Int类型的不一样导致的。所以,针对浮点数据的操作建议采用BigDecimal,尤其是金融相关的项目
(2)构造方法
public BigDecimal(String s)
其他构造方法有一定的不可预知性,并且在初始化变量时使用的还是字符串
(3)成员方法:
public BigDecimal add(BigDecimal augend) 加
public BigDecimal subtract(BigDecimal subtrahend) 减
public BigDecimal multiply(BigDecimal multiplicand) 乘
public BigDecimal divide(BigDecimal divisor) 除
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)
divisor 商
scale 几位小数
roundingMode 如何舍取
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |