5月20日每天问自己,今天是自己在这个世界的第几天?今天的日期类帮你解答,来吧

1 Object类

  Object类再java.util.lang包下:

  类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

  方法:

  toString();   返回该对象的字符串表示。

public class TestPerson {
    public static void main(String[] args) {
        Person p = new Person("张三",24);
        String s = p.toString();
        System.out.println(s);
    }
}

输出结果是:

Person{name='张三', age=24}

 

equals();指示其他某个对象是否与此对象“相等”。

## 2 Date 重难点

​ 2.1 概述(是什么)

​   表示特定的瞬间 精确到毫秒 1秒=1000毫秒

​   查询手册 拥有多个构造函数 但是4个已经过时 剩下的两个可以把毫秒值转成日期对象

​   Date();

​   Date(Long); 我们在东八区 我们基准时间 1970年1月1日 8时 0分0秒

public class Demo02Date {
    public static void main(String[] args) {
        demo03();
    }
    //3  getTime();将日期转换成毫秒值
    private static void demo03(){
        Date d = new Date();
        System.out.println(d);
        long time = d.getTime();
        System.out.println(time);
    }
    //2   Date类有参构造    将毫秒值转出Date日期
    private static  void demo02(){
        Date d  =new Date(1558334739710L);
        System.out.println(d);
    }
    //    1   Date类空参构造
    private static void demo01(){
        Date date = new Date();//  获得是当前系统的时间
        System.out.println(date);
    }
}

输出结果:

demo03方法的结果:
  1558348634883
demo02的结果:
  Mon May 20 14:45:39 CST 2019
demo01的结果:
    Mon May 20 18:38:49 CST 2019

 

​ 2.2 日期格式转字符串 字符串转日期

  DateFormat ------>SimpleDateFormate format(); parse()

public class Demo03Date {
    public static void main(String[] args) {
        try {
            show2();
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
    //2 将  字符串  ---》转date
    private  static void show2() throws ParseException {
        // 1 创建SimpleDateFormat 对象
        SimpleDateFormat da = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
        //2 调用parese()
        Date p = da.parse("2088年9月9日 15时15分15秒");
        System.out.println(p);
    }
    private static void  show(){
        //1 创建SimpleDateFormat 对象  构造方法中传递指定的模式   将日期转成字符串   将date--->字符串
        SimpleDateFormat da = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
        //2调用 format
        Date date = new Date();
        String d = da.format(date);
        System.out.println(date);
        System.out.println(d);
    }
}

show输出结果:
  Mon May 20 19:16:18 CST 2019   2019年05月20日19时16分18秒
show2输出结果:
  Thu Sep 09 15:15:15 CST 2088

 

2.3作业 要去使用日期时间相关的API 计算你自己出生了多少天

​ 分析

1 使用Scanner类中 next 获取出生日期

​ 2 使用DateFormate---->parse 把字符串转成日期格式 Date

​ 3 Date 转成毫秒值

​ 4 获得当前的毫秒值

​ 5 当前的毫秒值---出生的毫秒值

​ 6 毫秒值转换天 s/1000/60/60/24

package cn.kgc.enums;

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

public class Birth {
    public static void main(String[] args) throws ParseException {
        life();
    }
   //计算自己活了多少天
    private static void life() throws ParseException {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的出生年月:");
        String birthDate = sc.next();
        //把输入的字符串转换成date格式
        SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
            Date bd = df.parse(birthDate);
            //把日期转换成毫秒
            long bt = bd.getTime();
            //获取当前毫秒数
            long now = System.currentTimeMillis();
             long time = now - bt;
        System.out.println("从出生到现在我一共活了:"+time/1000/60/60/24);


    }
}

 

## 3 日历类 Calendar

public class Demo01Calendar {
    public static void main(String[] args) {
//        Calendar c= Calendar.getInstance();
//        System.out.println(c);
        demo01();
    }
    // 4  getTime();  日历转日期
    private static void demo04(){
        Calendar c =Calendar.getInstance();
        Date time = c.getTime();
        System.out.println(time);
    }
    //  3    add();根据日历规则  减去或者增加时间量
    private static void demo03(){
        Calendar c = Calendar.getInstance();
        c.add(Calendar.YEAR,3);
        int y = c.get(Calendar.YEAR);
        System.out.println(y);
        c.add(Calendar.MONTH,-3);
        int m = c.get(Calendar.MONTH);//0-11
        System.out.println(m);

    }
    // 2 set();给定的日历字段值
    private static void demo02(){
        Calendar c = Calendar.getInstance();
        //年2022
//        c.set(Calendar.YEAR,2022);
//        c.set(Calendar.MONTH,5);
//        c.set(Calendar.DATE,20);
        c.set(2022,5,20);
        int y = c.get(Calendar.YEAR);
        int d = c.get(Calendar.MONTH);
        System.out.println(y+"年"+d+"月");
    }
    //1  get(int field)   返回给定日历字段的值
    private static void demo01(){
        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        System.out.println(year);
        int m = c.get(Calendar.MONTH);//西方  月份0-11月  东方1-12
        System.out.println(m);
        int d = c.get(Calendar.DATE);
        System.out.println(d);
    }
}
demo01输出结果为:
  2019
  4
  20
demo02的结果时:
    2020年5月
demo03的结果是:
  2022
  1
demo04的结果是:
  Mon May 20 19:30:43 CST 2019

 

## 4 System 重点

​ CurrentTimeMillis() 返回的以毫秒为单位的当前时间 用于测试一个程序运行时间

​ arraycopy() 复制数组

​ 作业2 循环打印数字 1-9999 所需要的时间 (毫秒)

public class Demo02 {
    public static void main(String[] args) {
        long l = System.currentTimeMillis();
        for(int i=1;i<=9999;i++){
            System.out.println(i);
        }
        long l1 = System.currentTimeMillis();
        System.out.println(l1-l);
    }
}

 

## 5 StringBuilder 重难点

​ 5.1 字符串拼接问题 字符串一旦被创建不能修改

​ 5.2 StringBuilder

5.2.1 概述

​ StringBuilder 是一个字符串的缓冲区 是个容器 ---》可以装很多的字符串 自动的扩容

​ 5.2.2 构造方法

​ StringBuilder() 创建一个空的容器

​ StringBuilder(String str) 创建容器 并将字符串添加进去

​ 5.2.3 添加方法

append();

​ StringBuilder------>字符串 toString

## 6 包装类 自动装箱 拆箱 ***

​ 6.1 概述

​ java提供了两套数据类型 基本和引用

​ 基本类型 包装类

​ byte Byte

​ short Short

​ int Integer**

​ long Long

double Double

​ float Float

​ char Character**

​ boolean Boolean

​ 6.2 装箱

​ 基本类型和对应的包装类对象之间 转换的过程就是“装箱” “拆箱

​ 装箱 基本类型----------》对应的包装类对象

​ 拆箱 从包装类对象---------》基本数据类型

​ int i=4;

​ Integer i1 =new Integer(4); 装箱

posted @ 2019-05-20 19:58  阿锐互联网  阅读(288)  评论(0编辑  收藏  举报