Java程序设计 大数字处理类、Date日期处理类、SimpleDateFormat日期格式化

125 阅读3分钟

这是我参与2022首次更文挑战的第15天,活动详情查看:2022首次更文挑战

Java程序设计 大数字处理类、Date日期处理类、SimpleDateFormat日期格式化

BigInteger(整数)、BigDecimal(浮点数),这两个类都是Number子类

BigInteger类常用方法

方法作用
public BigInteger(String val)将一个字符串变成BigInteger类型的数据
public BigInteger add(BigInteger val)加法计算
public BigInteger subtract(BigInteger val)减法计算
public BigInteger multiply(BigInteger val)乘法计算
public BigInteger divide(BigInteger val)除法计算
public BigInteger max(BigInteger val)返回两个大数字中的最大值
public BigInteger min(BigInteger val)返回两个大数字中的最小值
public BigInteger[] divideAndRemainder(BigInteger val)除法操作,数组第一个元素为除法的商,第二个元素为除法的余数

BigDecimal类常用方法

方法作用
public BigDecimal(double val)将double表示形式转换为BigDecimal
public BigDecimal(int val)将int表示形式转换为BigDecimal
public BigDecimal(String val)将字符串表示形式转换为BigDecimal
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,RoundingMode roundingMode)除法计算设置保留小数位与进位模式

BigInteger演示

import java.math.BigInteger;

public class Hello {
    public static void main(String[] args) {
        BigInteger a = new BigInteger("48512623");
        BigInteger b = new BigInteger("56789");
        System.out.println("加:"+a.add(b));
        System.out.println("减:"+a.subtract(b));
        System.out.println("乘:"+a.multiply(b));
        System.out.println("除:"+a.divide(b));
        System.out.println("max:"+a.max(b));
        System.out.println("min:"+a.min(b));
        BigInteger r[] = a.divideAndRemainder(b);
        System.out.println("商:"+r[0]);
        System.out.println("余数:"+r[1]);
    }
}

image-20220130094220337

BigDecimal演示

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Hello {
    public static void main(String[] args) {
        BigDecimal a = new BigDecimal(4561.1152);
        BigDecimal b = new BigDecimal(4561.1152);
        System.out.println("加:"+a.add(b));
        System.out.println("减:"+a.subtract(b));
        System.out.println("乘:"+a.multiply(b));
        System.out.println("除:"+a.divide(b));
        System.out.println("四舍五入:"+a.divide(new BigDecimal(1.0),2, RoundingMode.HALF_UP).doubleValue());
    }
}

image-2022013010120505 0

Date日期处理类

Date类常用方法

方法作用
public Date()实例化Date类对象
public Date(long date)将数字变成Date对象
public long getTime()将当前日期时间变为long型

获取时间日期

import java.util.Date;

public class Hello {
    public static void main(String[] args) {
        System.out.println(new Date());
    }
}

image-20220130111935256

Date与long之间转换

import java.util.Date;

public class Hello {
    public static void main(String[] args) {
        Date date = new Date();
        long a = date.getTime();
        System.out.println(date);
        System.out.println(a);
        System.out.println(new Date(a));
    }
}

image-20220130115645726

使用LocalDateTime地获取当前日期时间数据

import java.time.LocalDateTime;

public class Hello {
    public static void main(String[] args) {
        LocalDateTime a = LocalDateTime.now();
        System.out.println(a);
    }
}

image-20220130134002871

SimpleDateFormat日期格式化

常用方法

方法作用
public SimpleDateFormat(String pattern)传入日期时间标记实例化对象
public final String format(Date date)将日期格式化为字符串数据
public Date parse(String source) throws ParseException将字符串格式化为日期数据

日期格式化模板标记

标记作用
y年,使用yyyy表示
M月,使用MM表示
d日,使用dd表示
H小时,使用HH表示
m分钟,使用mm表示
s秒数,使用ss表示
S毫秒数,使用SSS表示

将日期格式化

import java.text.SimpleDateFormat;
import java.util.Date;

public class Hello {
    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat a = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        String s=a.format(date);
        System.out.println(s);
    }
}

image-20220130143546174

将字符串转Date对象

import java.text.SimpleDateFormat;
import java.util.Date;

public class Hello {
    public static void main(String[] args) throws Exception{
        Date date = new Date();
        SimpleDateFormat a = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        String s=a.format(date);
        System.out.println(s);
//        字符串转为Date对象
        System.out.println(a.parse(s));
    }
}

image-20220130152708468