[笔记] Java基础(6)-数学计算与日期
1. Math类
Math类:java.lang.Math
Math类的方法都为静态,用于基本的数学运算
static int abs(int a):取绝对值
static double ceil(double a):向上取整
static double flor(double a):向下取整
static int max(int a, int b):返回a、b的最大值
static int min(int a, int b):返回a、b的最小值
static double pow(double a, bouble b):返回a的b次方
static double random():返回[0,1)之间的随机数
static int round(float a):四舍五入
static double sqrt(double a):返回a的平方根
2. Random类
Random类:java.util.Random
Random():创建新的伪随机数生成器,默认使用系统的纳秒时间作为种子
Random(long seed):使用seed作为种子创建伪随机数生成器
int nextInt():生成int取值范围的伪随机数
int nextInt(int n):生成[0,n)范围的伪随机数
3. BigInteger类
BigInteger类:java.math.BigInteger
- 可用于超过
long、Integer范围的数据运算
BigInteger(String val):使用数值字符串构造新对象
BigInteger add(BigInteger val):加法运算
BigInteger subtract(BigInteger val):减法运算
BigInteger multiply(BigInteger val):乘法运算
BigInteger divide(BigInteger val):除法运算
BigInteger[] divideAndRemainder(BigInteger val):除法运算,返回商和余数组成的数组
4. BigDecimal类
BigDecimal类:java.math.BigDecimal
- 用于精确计算浮点数
BigDecimal(String val):使用数值字符串构造新对象;也有使用double类型的构造器,但如果使用double类型的构造器会存在精度丢失
BigDecimal add(BigDecimal val):加法运算
BigDecimal subtract(BigDecimal val):减法运算
BigDecimal multiply(BigDecimal val):乘法运算
BigDecimal divide(BigDecimal val):除法运算
static BigDecimal valueOf(double val):将double转为BigDecimal对象,底层先调用toString方法再使用String参数的构造器创建BigDecimal对象
4. Date类
Date类:java.util.Date
- 大部分方法已经被
Calender类的方法取代
Date():无参构造,存储当前时间的毫秒值
Date(long i):构造毫秒值为i的对象,以1970-01-01 00:00:00开始计算
long getTime():返回对象的时间毫秒值
void setTime():设置对象的时间毫秒值
5. SimpleDateFormat类
SimpleDateFormat类:java.text.SimpleDateFormat
- 继承于
DateFormat
SimpleDateFormat(String str):构造日期格式化对象,如:yyyy-MM-dd HH:mm:ss.SSS
String format(Date d):返回按SimpleDateFormat传入格式的日期字符串
Date parse(String source):将source字符串转化为Date对象
6. Calendar类
Calendar类:java.util.Calendar
static Calendar getInstance():返回子类对象
int get(int field):根据field获取指定的值
Calendar.YEAR:年份数据
Calendar.MONTH:月份数据,月份从0开始表示1月
Calendar.DAY_OF_MONTH:月中的第几天
Calendar.DAY_OF_WEEK:星期中的第几天,周日为第一天
void add(int field, int amount):将field指定的值加amount
void set(int field, int val):将field指定的值设置为val
void set(int year, int month, int day):设置年、月、日
- 获取任意年为平年或闰年的方法:将
Calendar对象设置为该年的3月1日,再使用add()方法向前减1,判断DAY_OF_MONTH是29还是28