zoukankan      html  css  js  c++  java
  • API接口 StringBuffer类、StringBuilder类、Date类、Calendar类、DateFormat类、BigDecimal类、BigInteger类、包装类、

    StringBuffer类

      String字符串  字符串值不可变  可以共享

      buffer缓冲区、缓冲器

      StringBuffer字符串缓冲区,作用相当于一个容器,里面存放很多字符串值

      特点:

        1.线程安全的可变字符序列。

        2.可以添加任意类型的数据,但是添加进去的数据会被转换成字符串类型。

        3.StringBuffer类主要是通过append和insert方法进行操作。

        4.StringBuffer类是有索引,有序的

        5.StringBuffer类构件对象会有一个初始容器,当存储的元素超过初始容量,容量会自动扩充

        6.JDK1.5之后,官方提供了一个等价的类StringBuilder类,不同步,速度较快

        crud操作:添加、插入、删除和替换

        //添加 插入 删除 替换

           StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append("张三");
        stringBuffer.append(true);
        stringBuffer.append(20);
        stringBuffer.append(13.5);
        System.out.println(stringBuffer.toString());
        //插入 insert()
        stringBuffer.insert(6,"李四" );
        System.out.println(stringBuffer.toString());
        //删除delete(int start,int end )
        StringBuffer delete = stringBuffer.delete(6, 8);
        System.out.println(stringBuffer.toString());
        System.out.println(delete.toString());//张三true2013.5
        //替换 replace(int start,int end,String str)
        StringBuffer replace = stringBuffer.replace(2, 6, "");
        System.out.println(stringBuffer.toString());
        System.out.println(replace.toString());
        //toString() 打印对象时,JVM会自动调用toString()方法
        char c = stringBuffer.charAt(2);
        System.out.println(
    c);

    StringBuilder类属于线程不安全的,执行效率较高,推荐使用该类
    Date类:日期类
      1.Date类有两大功能:①把日期解释为年月日时分秒
                ②允许格式化和解析日期字符串
      2.Date类中的以上两大功能分别被Calender类和DateFormat类替换掉
      3.在Date类中出现了大量的已弃用和已过时方法。
    //构造函数
    Date date = new Date();
    System.out.println(date.toString());//获取当前的系统时间
    //Wed Nov 04 15:35:33 CST 2020
    //星期 月份 日期 时:: CST 年份
    //构造函数 Date(long date)
    //86400*1000 = 一天毫秒值
    //一年 86400*1000*365
    //从标准基准时间(称为历元(epoch,即 1970 1 1 00:00:00 GMT)以来的指定毫秒数。
    Date date2 = new Date(4545545545456l);
    System.out.println(date2);
    //日期和毫秒的转换
    long time = date2.getTime();
    System.out.println(time);

    DateFormat  java.text包中  是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间
           是一个抽象类
           直接子类SimpleDateFormat
        作用:格式化日期并解析日期时间,通常用于日期和String字符串之间的转换
           日期---》文本      /      文本---》日期
           借助于Date对象
    // 构建日期对象
    Date date = new Date();//日期对象 Wed Nov 04 15:46:40 CST 2020
    // 2020/11/4 16:01:22
    //使用DateFormat累的子类SimpleDateFormat pattern 格式,模式 buffer n. [计] 缓冲区;缓冲器
    /*
    G-->年代
    y-->
    M-->
    m-->分钟
    d-->一月中的第几日
    D-->一年中的第几天
    h-->小时 12小时制
    H-->小时 24小时制
    s-->
    S-->毫秒
    E-->星期
    F-->一月中的第几个星期几
    w-->一年中的第几星期
    W-->一月中的第几星期
    z-->时区
    */
    DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    //把日期数据类型转换成字符串数据类型 格式化format(Date date)
    String str = df.format(date);
    System.out.println(str);
    //把字符串转换成日期格式
    String time = "2020114";//转换成Date类型 CST
    //parse(String str)
    //指定日期格式 参照字符串的格式
    DateFormat df2 = new SimpleDateFormat("yyyyMMdd");
    //把字符串转换成日期
    try {
    Date date2 = df2.parse(time);
    System.out.println(date2);//2020114---->CST格式 Wed Nov 04 15:35:33 CST 2020
    //00:00:00 是因为在字符串定义没有给时分秒设定值
    } catch (ParseException e) {
    e.printStackTrace();
    }

    Calender类  日历类:实现日期和时间字段之间转换
           是一个抽象类,
           作用:获取日历上的时间字段值
           Calender对象的创建通过静态的getInstance()
    //构建一个Calender类日历对象
    //通过静态方法getcalendar()
    Calendar calendar = Calendar.getInstance();
    //java.util com.zhiyou100.API
    //Calendar calendar = new Calendar(); protected Calendar(){}
    //年月日 时分秒 星期 get()
    int year = calendar.get(Calendar.YEAR);
    System.out.println(year);//2020
    int month = calendar.get(Calendar.MONTH);//0-11
    System.out.println(month);//10
    int date = calendar.get(Calendar.DATE);
    System.out.println(date);
    int hour = calendar.get(Calendar.HOUR);
    System.out.println(hour);
    int minute = calendar.get(Calendar.MINUTE);
    System.out.println(minute);
    int second = calendar.get(Calendar.SECOND);
    System.out.println(second);

    System.out.println(year + "/" + (month + 1) + "/" + date + " " + (hour + 12) + ":" + minute + ":" + second);
    //指定字段增加值
    //修改当前的时间为7天后
    calendar.add(Calendar.DATE, 7);
    //获取日期值
    int day = calendar.get(Calendar.DATE);
    System.out.println(day);//11
    calendar.add(Calendar.HOUR, 5);
    //获取当前时间的小时
    int hour2 = calendar.get(Calendar.HOUR);
    System.out.println(hour2);//5+5 --->10
    //日历对象转换成日期对象 Date格式 getTime()
    Date time = calendar.getTime();
    System.out.println(time);

    BigDecimal类
          大数据中的大小数
    BigInteger
          大数据中的大整数
    //BigInteger BigDecimal
    //大数据整数的加、减、乘、除 四则运算
    BigInteger bigInteger = new BigInteger("200000000000000000000");
    BigInteger bigInteger1 = new BigInteger("120123241554112122222");
    //相加运算
    BigInteger result1 = bigInteger.add(bigInteger1);
    System.out.println(result1);
    //减法运算
    BigInteger result2 = bigInteger.subtract(bigInteger1);
    System.out.println(result2);
    // 乘法运算
    BigInteger result3 = bigInteger.multiply(bigInteger1);
    System.out.println(result3);
    //除法运算
    BigInteger result4 = bigInteger.divide(bigInteger1);
    System.out.println(result4);

    //BigDecimal类 大小数
    //有时候操作小数的时候,会出现精度损失问题
    System.out.println(0.09+0.01);//0.1-->0.09999999999999999
    System.out.println(1.231*100);//123.1-->123.10000000000001
    //大小数四则运算 加减乘除
    BigDecimal bigDecimal1 = new BigDecimal("0.09");
    BigDecimal bigDecimal2 = new BigDecimal("0.01");
    //加法运算
    BigDecimal result01 = bigDecimal1.add(bigDecimal2);
    System.out.println(result01);
    //减法运算
    BigDecimal result02 = bigDecimal1.subtract(bigDecimal2);
    System.out.println(result02);
    //乘法运算
    BigDecimal result03 = bigDecimal1.multiply(bigDecimal2);
    System.out.println(result03);
    除法运算
    BigDecimal result04 = bigDecimal1.divide(bigDecimal2);
    System.out.println(result04);
    
    
    包装类
    基本数据类型和对应的包装类--》对应的引用类型 Class类型
    ArrayList类 容器
    byte Byte
    short Short
    int Integer[重点]
    long Long
    float Float
    double Double
    char Character[重点]
    boolean Boolean
    基本数据类型转换成包装类------》valueOf() 以int类型示例Integer。value1Of(3)---》Integer
    包装类转换成基本数据类型----->以int类型示例 intValue()--->int
    在JDK1.5以后,基本数据类型和包装类不在需要显式的转换---》会自动转换
    装箱:基本数据类型转换成包装类
    拆箱:包装类转换成基本数据类型
    开发中,定义类中属性时,建议使用
     
  • 相关阅读:
    CF1056G
    mysql xtrabackup 备份恢复
    linux yum源配置
    mysql 第24章 优化
    mysql 第23章 监控
    mysql 第22章 高可用MMM、MHA
    mysql 第21章 集群
    mysql 第20章 复制
    mysql 第19章 备份恢复
    mysql 第18章 导入导出
  • 原文地址:https://www.cnblogs.com/lk625/p/13942094.html
Copyright © 2011-2022 走看看