这是我参与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]);
}
}
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());
}
}
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());
}
}
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));
}
}
使用LocalDateTime地获取当前日期时间数据
import java.time.LocalDateTime;
public class Hello {
public static void main(String[] args) {
LocalDateTime a = LocalDateTime.now();
System.out.println(a);
}
}
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);
}
}
将字符串转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));
}
}