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());

结果截图如下:

Java 系统类设计_Java 系统类设计

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);