【JavaOOP应用】2、常用工具类

2. 常用工具类

2.1 Math类

/**
 * 数学类Math类的用法
 */
@Test
public void test01(){
    // 1、求指定数字的绝对值
    int abs = Math.abs(-10);
    System.out.println("abs = " + abs);
    // 2、返回两个数的最大值、最小值
    int max = Math.max(1, 10);
    System.out.println("max = " + max);
    int min = Math.min(1, 10);
    System.out.println("min = " + min);
    // 3、求指定数的n次幂
    double pow = Math.pow(2, 3);
    System.out.println("pow = " + pow);
    // 4、求指定数的平方根
    double sqrt = Math.sqrt(2);
    System.out.println("sqrt = " + sqrt);
    // 5、返回一个随机小数[0, 1)
    double random = Math.random();
    System.out.println("random = " + random);
    // 6、返回一个比给定数小的最大整数(向下取整)
    double floor = Math.floor(3.14);
    System.out.println("floor = " + floor);
    // 7、返回一个比给定数大的最小整数(向上取整)
    double ceil = Math.ceil(3.14);
    System.out.println("ceil = " + ceil);
    // 8、得到圆周率的值
    double pi = Math.PI;
    System.out.println("pi = " + pi);
    // 9、返回一个弧度的正弦值
    double sin = Math.sin(Math.PI / 3);
    System.out.println("sin = " + sin);
    // 10、返回一个给定数的四舍五入值(将指定值加上0.5取整)
    long round = Math.round(3.456);
    System.out.println("round = " + round);
}

2.2 Random类

/**
 * 案例一:产生一个[0,100)之间的随机数
 */
@Test
public void test01(){
    // 1. 定义Random类的对象
    Random random = new Random();
    int a = random.nextInt();           // 整个int范围产生的随机数
    System.out.println("a = " + a);
    int b = random.nextInt(100); // 产生一个[0,100)的随机数
    System.out.println("b = " + b);
}

/**
 * 案例二:产生一个[30,50)的一个随机数。
 * 分析:
 *  1、产生一个[0,50-30)的范围的随机数
 *  2、再在上面的基础上加上30,这样就变成了[30,50)的随机数
 */
@Test
public void test02(){
    //1. 定义一个random类的对象
    Random random = new Random();
    // 2. 产生一个[0,20)的一个随机数
    int num = random.nextInt(20);
    // 3. 再将num加上30就是[30,50)范围的随机数
    num = num + 30;
    System.out.println("num = " + num);
}

2.3 Date类

/**
 * 1. Date类的用法
 */
@Test
public void test01() throws ParseException {
    // 定义一个日期对象
    Date date = new Date();
    // 得到日期的本地时间串
    String dtDtr = date.toLocaleString();
    System.out.println("date = " + dtDtr);
    // 得到日期的各个部分
    int year = date.getYear() + 1900;
    int month = date.getMonth() + 1;        // 从0开始计算
    int day = date.getDate();
    int hours = date.getHours();
    int minutes = date.getMinutes();
    int seconds = date.getSeconds();
    System.out.println("year = " + year);
    System.out.println("month = " + month);
    System.out.println("day = " + day);
    System.out.println("hours = " + hours);
    System.out.println("minutes = " + minutes);
    System.out.println("seconds = " + seconds);
    // 构造一个自己的日期
    Date dt = new Date(1000 - 1900, 7 - 1, 12);

    // SimpleDateFormat 用法一:对日期进行格式化处理
    // 对日期进行格式化处理
    // y: 代表年份
    // M: 代表月份
    // d: 代表一个月中的某一天
    // H: 代表小时数
    // m: 代表分钟数
    // s: 代表秒数
    // E: 代表星期名称
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
    String format = sdf.format(date);
    System.out.println("format = " + format);
    System.out.println("dt = " + dt.toLocaleString());


    // SimpleDateFormat用法二:将日期字符串转换为日期对象
    // 注意:转换时日期模式串一定要与日期字符串匹配,否则,报异常 ParseException\
    String str = "1999-1-10 18:30:25";
    sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date dt1 = sdf.parse(str);
    System.out.println("dt1 = " + dt1);
}
2.3.1 日期格式模式参考

在这里插入图片描述

2.4 Calendar类

/**
 * 测试日历类的用法
 */
@Test
public void test01(){
    // 获取日历类的对象
    Calendar calendar = Calendar.getInstance();
    // 得到日历的各个部分
    int year = calendar.get(Calendar.YEAR);// 年份
    int month = calendar.get(Calendar.MONTH) + 1;// 月份
    int day = calendar.get(Calendar.DATE);// 天数
    int hours = calendar.get(Calendar.HOUR_OF_DAY);// 24小时制
    int minutes = calendar.get(Calendar.MINUTE);// 分钟数
    int seconds = calendar.get(Calendar.SECOND);// 秒数
    System.out.println("year = " + year);
    System.out.println("month = " + month);
    System.out.println("day = " + day);
    System.out.println("hours = " + hours);
    System.out.println("minutes = " + minutes);
    System.out.println("seconds = " + seconds);

    // 设置日期的各个部分 (修改日期)

    // 一次修改一个日期
    // calendar.set(Calendar.YEAR,2000);
    // calendar.set(Calendar.MONTH,5);
    // calendar.set(Calendar.DATE,20);
    // 相当于:
    // 一次修改多个日期
    calendar.set(2000, 5, 20);

    // 得到日历所绑定的日期
    Date time = calendar.getTime();
    String s = formateDate(time);
    System.out.println("s = " + s);

    System.out.println("-----------------");

    // 添加指定的日期
    calendar.add(Calendar.YEAR, 5);
    calendar.add(Calendar.HOUR_OF_DAY, 3);
    time = calendar.getTime();
    s = formateDate(time);
    System.out.println("s = " + s);
}

2.5 SimpleDateFormat类

/**
 * SimpleDateFormat 类的用法
 */
private String test() {
    Date time = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    String format = sdf.format(time);
    System.out.println(format);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮生146

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值