System类
【1】System类:System
类包含一些有用的类字段和方法。它不能被实例化。在 System
类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
【2】在此提及三个System的方法:,
public static void gc()//调用垃圾回收器
public static void exit(int status)//退出java虚拟机,0为正常退出,非0为异常退出
public static long currentTimeMills()//获取当前时间的毫秒值
当然还是给大家来例子:
static void exit(int status);//终止当前运行的java虚拟机
//上一句程序执行之后其后面的程序就不再执行
static void gc();//运行垃圾回收器
//java虚拟机自有自己的垃圾回收机制
static long static currentTimeMillis()
//返回当前时间的毫秒值
//参照时间是1970 01 01 00:00:00 计算机元年
BigDecimal类
【1】BigDecimal类:由于在运算的时候float和double很容易丢失精度,所以为了能精确的标识,计算浮点数,java提供了BigDecimal类。表示的是不可变,任意精度的有符号十进制数。
【2】BigDecimal的构造方法:public BigDecimal(String val)
【3】BigDecimal的成员方法
public BigDecimal add(BigDecimal augend)//加
public BigDecimal subtract(BigDeciaml subtract)//减
public BigDecimal multiply(BigDecimal multiply)//乘
public BigDecimal divide(BigDecimal divisor)//除法
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)//scale小数点后保留几位//roundingMode取舍模式,比如四舍五入
举例如下:
public class BigDecimal {
public static void main(String[] args) {
java.math.BigDecimal n=new java.math.BigDecimal(10);
java.math.BigDecimal n1=new java.math.BigDecimal(3);
java.math.BigDecimal x=n.divide(n1,6,1);
java.math.BigDecimal y=n.add(x);
java.math.BigDecimal z=n.subtract(y);
java.math.BigDecimal h=z.multiply(z);
System.out.println(x);
System.out.println(y);
System.out.println(z);
System.out.println(h);
}
}
Data类
【1】Data类表示特定的瞬间,精确到毫秒
【2】构造方法:
public Data()
public Data(long data)//把一个long类型的毫秒值转换成一个日期对象
【3】成员方法:
public long getTime();获取一个日期对象毫秒值
public void setTime(long tome)给一个日期对象设置上指定的毫秒值。如;data.setTime(1000*60*60);
【4】日期对象毫秒值和日期之间的转换
Data--------long转换:调用getTime()方法
long -------------Data转换:调用 setTime()方法;构造方法
Date data= new Date(5678900);
System.out.println(data);
System.out.println(data.getTime());
//调用setTime()long 转Data
data.setTime(234567890);
System.out.println(data);
//Data类型转化成日期对象毫秒值
System.out.println(data.getTime());
结果截图如下:
SimpleDataFormat类
【1】SimpleDataFormat:可以把一个日期对象格式化成一个文本(字符串),也可以把一个日期字符串解析成一个日期对象。
【2】构造方法:public SimpleDataFormat():使用默认的模式来创建一个SimpleDataFormat对象
public SimpleDataFormat();使用指定的模式(规则比如:yyyy--MM--dd HH:mm:ss)来创建一个SimpleDataFormat对象
【3】规则定义:y----------------------年
M----------------------月
d----------------------日
H---------------------时
m-------------------- 分
s----------------------秒
【4】成员方法:public String format(Data data):把一个日期对象格式化成一个字符串
public Data parse(String dataStr):把一个日期字符串解析成一个日期对象,注意要以指定格式解析
【5】案例演示: 需求:算一下你来到这个世界多少天?
分析:
* a: 键盘录入一个生日(日期字符串)
* b: 把这个日期字符串对象解析成一个日期对象
* c: 获取b中的日期对象对应的毫秒值
* d: 获取当前系统时间对应的毫秒值
* e: 使用d中的毫秒值 - c中的毫秒值
* f: 把e中的差值换算成对应的天 差值/1000/60/60/24
* g: 输出
// 需求:算一下你来到这个世界多少天?
// 分析:
// * a: 键盘录入一个生日(日期字符串)
// * b: 把这个日期字符串对象解析成一个日期对象
// * c: 获取b中的日期对象对应的毫秒值
// * d: 获取当前系统时间对应的毫秒值
// * e: 使用d中的毫秒值 - c中的毫秒值
// * f: 把e中的差值换算成对应的天 差值/1000/60/60/24
// * g: 输出
Scanner birth=new Scanner(System.in);
String birthday=birth.next();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
//解析异常
Date data=simpleDateFormat.parse(birthday);
long time=data.getTime();
//出生日期的系统当前毫秒值
long now=new Date().getTime();
//获取现在起系统的毫秒值
System.out.println((now-time)/1000/60/60/24);