码迷,mamicode.com
首页 > 其他好文 > 详细

常用类

时间:2020-04-25 16:48:34      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:一个   oat   调用   好的   基本   tab   tip   属性   情况   

常用类

下面将介绍几种常用类。分别是Math、Random、BigInteger、BigDecimal、SimpleDateFormat、Calendar

Math

是一个数学类,这个类中封装了很多用来做数学计算的方法。当我们需要使用到数学计算的时候,要能够想到这个类。这个类中有很多封装好的数学公式,而且,都是静态方法,方便调用。

常用静态方法

属性 描述
PI 圆周率 3.14159265358979323846
E 自然对数 2.7182818284590452354

常用方法

方法 参数 描述
abs int/long/float/double 计算一个数字的绝对值
max (int, int)/(long, long)/(float, float)/(double, double) 计算两个数字的最大值
min (int, int)/(long, long)/(float, float)/(double, double) 计算两个数字的最小值
round float/double 计算一个数字的四舍五入
floor float/double 计算一个数字的向下取整
ceil float/double 计算一个数字的向上取整
pow (double, double) 计算一个数字的指定次幂
sqrt double 计算一个数字的平方根
random - 获取一个 [0,1) 范围内的浮点型随机数

Random

是一个专门负责产生随机数的类。在Java中,Random类在 java.util 包中。在使用之前,需要先导包。

其实,随机数的产生,是有一个固定的随机数算法的。代入一个随机数种子,能够生成一个随机数列。但是由于算法是固定的,因此会有一个“BUG”:如果
随机数的种子相同,则生成的随机数列也完全相同。

常用方法

方法 参数 描述
Random 通过将系统时间作为随机数种子, 实例化一个Random对象
int 通过一个指定的随机数种子,实例化一个Random对象
nextInt int 生成一个 [0, bounds) 范围内的整型随机数
nextInt 生成一个int范围内的随机数
nextFloat 生成一个 [0, 1) 范围内的float类型的随机数
nextDouble 生成一个 [0, 1) 范围的double类型的随机数
nextBoolean 随机生成一个boolean数值

BigInteger、BigDecimal

这两个类,都是用来表示数字的类。BigInteger表示整型数字,BigDecimal表示浮点型数字。这两个类,可以用来描述非常、非常、非常大的数字。例如整数, long是最大的表示范围,但是即便是long型,也有它表示不了的情况。BigInteger就是可以表示任意大小的数字。
BigInteger:表示整型数字,不限范围。
BigDecimal:表示浮点型数字,不限范围,不限小数点后面的位数。

常用方法

方法 参数 描述
构造方法 String 通过一个数字字符串,实例化一个对象
add BigInteger/BigDecimal
subtract BigInteger/BigDecimal
multipy BigInteger/BigDecimal
divide BigInteger/BigDecimal
divideAndRemainder BigInteger/BigDecimal 除, 保留商和余数
将商存到结果数组的第0位
将余数存到结果数组的第1位
xxxValue - 转成指定的基本数据类型的结果(可能会溢出)

Data

是一个用来描述时间、日期的类。 在 java.util 包中!!!

常用方法

方法 参数 描述
Date - 实例化一个Date对象,来描述系统当前时间。
Date long 通过一个指定的时间戳,实例化一个Date对象,描述指定的时间。
getTime - 获取一个日期对应的时间戳,从1970年1月1日0时0分0秒开始计算的毫秒数。
setTime long 通过修改一个时间的时间戳,修改这个时间对象描述的时间。
equals Date 判断两个时间是否相同
before Date 判断一个时间是否在另一个时间之前
after Date 判断一个时间是否在另一个时间之后

SimpleDateFormat

是一个用来格式化时间的类。使用这个类,一般有两种操作:

  • 将一个Date对象,转成指定格式的时间字符串。
  • 将一个指定格式的时间字符串,转成Date对象。

常用时间格式

占位符 描述
y 表示年。 常用 yyyy 表示长年分。 yy 表示短年份。
M 表示月。 常用 MM 表示两位占位, 如果月份不够两位, 往前补零。
d 表示日。 常用 dd 表示两位占位, 如果日期不够两位, 往前补零。

常用方法

方法 参数 描述
SimpleDateFormat String 通过一个指定的时间格式, 实例化一个对象。
format Date 将一个Date对象转成指定格式的字符串。
parse String 将一个指定格式的时间字符串,解析成一个Date对象。
H 表示时, 24小时制。 常用 HH 表示两位占位, 如果时不够两位, 往前补零。
h 表示时, 12小时制。 常用 hh 表示两位占位, 如果时不够两位, 往前补零。
m 表示分。 常用 mm 表示两位占位, 如果分不够两位, 往前补零。
s 表示秒。 常用 ss 表示两位占位, 如果秒不够两位, 往前补零。
S 表示毫秒。 常用 SSS 表示三位占位, 如果毫秒不够三位, 往前补零。

parse 方法
会抛出一个编译时的异常。在使用的时候,用try-catch 包围即可。
将一个字符串,按照指定的格式进行解析。如果字符串中的时间格式,和对象实例化的时候给定的格式不同,此时会出现异常。

Calendar

是一个用来描述时间、日期的类。比Date的功能更加完善。在Date类中,有很方法都已经被废弃了。用Caleendar类中的某些方法来替代。

方法 参数 描述
getInstance - 获取用来描述当前时间的Calendar子类对象, 并向上转型为了Calendar类型。
Calendar类是一个抽象类, 无法实例化对象。
get int 通过指定的字段,获取字段对应的值。
字段的信息, 通过Calendar类中定义的一些静态常量来获取。
例如: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_MONTH...
set int, int 通过指定的字段,设置字段对应的值。
字段的信息, 通过Calendar类中定义的一些静态常量来获取。
例如: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_MONTH...
set int, int, int
int, int, int, int, int
int, int, int, int, int, int
同时设置年月日信息
同时设置年月日时分信息
同时设置年月日时分秒信息
getTime - 获取指定时间对应的Date对象
setTime Date 通过一个Date对象,设置时间
getTimeInMillis - 获取当前时间戳
setTimeInMillis long 通过时间戳设置时间
equals Calendar 判断两个日期是否相同
before Calendar 判断一个日期是否在另外一个日期之前
after Calendar 判断一个日期是否在另外一个日期之后
add int, int 对指定的字段进行加法, 增加指定的时间偏移量
public class CalendarUsage {
    public static void main(String[] args) {
        // 1. Calendar是一个抽象类,无法直接进行实例化
        Calendar calendar = Calendar.getInstance();

        // 2. 通过指定的字段,获取对应的值。
        //    在 Calendar 类中,已经封装好了若干个静态常量,来表示不同的字段。
        System.out.println(calendar.get(Calendar.YEAR));
        System.out.println(calendar.get(Calendar.MONTH));           // 在Calendar中,月份是从0开始的。
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
        System.out.println(calendar.get(Calendar.MINUTE));
        System.out.println(calendar.get(Calendar.SECOND));

        // 3. 通过指定的字段,设置对应的值
        calendar.set(Calendar.YEAR, 2022);
        calendar.set(Calendar.DAY_OF_MONTH, 29);

        // 4. 同时设置年月日
        calendar.set(2021, Calendar.SEPTEMBER, 7);
        //    同时设置年月日时分
        calendar.set(2022, Calendar.NOVEMBER, 12, 23, 59);
        //    同时设置年月日时分秒
        calendar.set(2022, Calendar.NOVEMBER, 12, 23, 59, 59);

        // 5. 获取日期(Date对象)
        Date date = calendar.getTime();
        // 6. 设置日期(Date对象)
        calendar.setTime(new Date());
        // 7. 获取时间戳
        long timestamp = calendar.getTimeInMillis();
        // 8. 设置时间戳
        calendar.setTimeInMillis(timestamp);

        // 9. 判断一个日期是否在另外一个日期之前
        //    类似的方法还有 equals、after
        calendar.before(Calendar.getInstance());

        // 10. 对一个日期进行加法操作
        calendar.add(Calendar.MONTH, 3);
        calendar.add(Calendar.DAY_OF_MONTH, 21);

        System.out.println(calendar);
    }
}

常用类

标签:一个   oat   调用   好的   基本   tab   tip   属性   情况   

原文地址:https://www.cnblogs.com/dch-21/p/12773609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!