zoukankan      html  css  js  c++  java
  • 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); 装箱

  • 相关阅读:
    spring AOP概述和简单应用
    log4j输出指定功能的log配置方式区别
    java项目配置常见问题
    android 浮动按钮的伸缩效果
    Android之探究viewGroup自定义子属性参数的获取流程
    javaWeb之maven多数据库环境的配置信息
    mybatis generator配置生成代码的问题
    java之初识服务器跨域获取数据
    java之Maven配置和springMvc的简单应用
    UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5
  • 原文地址:https://www.cnblogs.com/liurui-bk517/p/10896143.html
Copyright © 2011-2022 走看看