zoukankan      html  css  js  c++  java
  • java学习--基础知识进阶第五天--笔记

    今日内容
    Object类
    System类

    Date类
    SimpleDateFormat类
    Calendar类

    基本数据类型的包装类(8种)
    正则表达式

    学习API的方法
    一定不要死记其中的方法,只要查看API,看到方法名,知道这个方法的作用即可
    看参数列表,需要什么类型的参数就传递什么类型的参数
    看返回值类型,是什么返回值类型就用什么类型的变量接收,如果没有返回值,就只能单独调用
    看修饰符,如果是static修饰的,就不需要创建对象调用,直接使用类名.的方式调用

    Object类
    是所有类的根类(直接父类或者间接父类),对象和数组都直接或者间接继承Object类
    注:接口不继承Object类

    toString():将对象转为字符串的形式
    * return getClass().getName() + "@" + Integer.toHexString(hashCode());
    Object类中的toString()方法转成的全类名+内存地址的十六进制形式,一般来说这种格式对我们来说没有意义,所以都会进行重写
    重写之后用于输出对象中的成员变量的值

    重写快捷键:
    alt+shift+s + s

    getClass():获取类的字节码对象
    hashCode():哈希码,内存地址值

    equals():比较两个对象是否相等,比较地址值是否相等
    * return (this == obj);
    * return (this == obj);

    如果要比较地址值是否相等,我们直接选择==就可以了,所以类在继承Object中的equals()方法之后,一般都会重写
    重写之后用于比较内容(成员变量的值)是否相等
    ==没有被重写,比较的是地址值是否相等

    重写的快捷键:
    alt+shift+s + h

    System类
    系统类,在java.lang包下,final修饰的类,该类不能被继承
    构造方法被私有(private修饰),所有的方法都是静态的(static修饰的)(工具类2)

    static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
    * 复制数组
    static long currentTimeMillis()
    * 返回当前系统时间距离1970年1月1日0时0分0秒以来的毫秒值
    static void exit(int status)
    * 退出JVM
    static void gc()
    * 启动垃圾回收器

    面试题:
    Java程序能通过代码精确控制垃圾回收器来对垃圾进行回收吗?
    不能

    模拟System类中的arraycopy的功能,实现以下方法:
    static void arraycopy(int[] src, int srcPos, int[] dest, int destPos, int length)

    日期相关的类
    Date类
    位于java.util包下,不要导错包了
    表示的时间,可以表示过去、现在和未来的时间

    构造方法
    Date()
    Date(long mills) 通过mills可以表示过去、现在和未来的时间

    常用方法
    setTime(long mills) :设置毫秒值
    getTime():获取毫秒值

    SimpleDateFormat类
    日期格式化类

    构造方法
    //SimpleDateFormat():使用默认的模式进行日期的格式化和解析
    SimpleDateFormat(String s):使用指定的模式进行日期的格式化和解析

    格式化:将日期对象转换成字符串
    String format(Date d)

    解析:将日期字符串转为日期对象
    Date parse(String s)

    Calendar类
    日历类,抽象类

    获取对象
    *static Calendar getInstance()

    对日期进行操作的方法
    获取
    get(int i)
    修改
    set(int i,int value)
    增加或者减少
    add(int i,int value)

    基本数据类型的包装类
    基本数据类型 包装类
    byte Byte
    short Short
    int Integer
    long Long
    float Float
    double Double
    char Character
    boolean Boolean

    注:只有int和char对应包装类有较大改变,其余都是首字母小写变大写即可

    String和int的互转
    String->int
    * Integer.parseInt(s)
    int->String
    * +""

    自动拆装箱
    JDK1.5的新特性

    自动装箱:基本数据类型转为包装类型
    Integer i = 10; // Integer i = new Integer(10); Integer i = Integer.valueOf(10);
    自动拆箱:包装类型转为基本数据类型
    int a = i; // int a = i.intValue();


    练习:
    Integer i1 = new Integer(100);
    Integer i2 = new Integer(100);
    System.out.println(i1==i2); // false
    System.out.println(i1.equals(i2)); // true//已经修改了

    System.out.println("----------------");

    Integer i3 = new Integer(200);
    Integer i4 = new Integer(200);
    System.out.println(i3==i4); // false
    System.out.println(i3.equals(i4)); // true

    System.out.println("----------------");

    Integer i5 = 100;
    Integer i6 = 100;
    System.out.println(i5==i6); // true
    System.out.println(i5.equals(i6)); // true

    System.out.println("----------------");

    Integer i7 = 200;// Integer i5 = new Integer(200);
    Integer i8 = 200;// Integer i5 = new Integer(200);
    System.out.println(i7==i8); // false
    System.out.println(i7.equals(i8)); // true


    原理:
    // IntegerCache.high = 127
    // IntegerCache.low = -128

    public static Integer valueOf(int i) {
    assert IntegerCache.high >= 127;
    if (i >= IntegerCache.low && i <= IntegerCache.high)// i>=-128 && i<=127
    return IntegerCache.cache[i + (-IntegerCache.low)];// 100+128=228 ,return 100
    return new Integer(i);
    }

    正则表达式

  • 相关阅读:
    mysql:左连接、内连接、in()语句以及对比
    微信小程序与Java的Servlet通信小示例
    MyEclipse快捷键大全
    學習網站
    spring 框架的筆記
    下載地址
    學習hibernate筆記
    配置struts.xml
    蓄水池采样(Reservoir Sampling)
    秦时明月哲理
  • 原文地址:https://www.cnblogs.com/bigorangehasc/p/8639377.html
Copyright © 2011-2022 走看看