#Java学习之路——基础阶段二(第一篇)

时间:2023-03-08 16:36:41
#Java学习之路——基础阶段二(第一篇)

我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。

前言:此随笔主要是Java基础中的基础,相信大家对这方面肯定有着自己的理解和认识,具体详解可以参照万能的baidu,有的我就一笔带过,希望在我的学习之路上能够有大牛进行指导,也有更多的小伙伴共勉。

1.Object类

Object是所有类的父类,所以Java默认将extend object省略不写了;

这里的Object中要学的是两个方法:一个是toString方法一个是equals方法;

前面学到过的是toCharArray方法是将字符串转换为字符数组,而toString方法就是为了方便输入如果说输出的不是String 类型的话会调用toString方法进行修改,对于toString返回的其实是字符串的内容就是:对象类型+@+对象地址值,对于我们写的类像Person这样的为了能够更好的使用都会将其覆盖重写一能够输出我们想要的格式。

对于equals方法来说就是指某两个对象是否相等,这里有的面试题会参杂基本数据类型使用equals来进行比较,题很多,这里说的判断有默认和自定义两种方式,如果没有覆盖重写的话比较的就是默认的’==‘运算符的地址值比较,只要地址不同,都会返回false,对于对象内容的比较可以覆盖重写equals方法比较地址值,比较类型信息,比较参数等等。这里一般都会使用快捷生成的方式对equals和hashcode进行比较,而在JDK7之后新添加了Objects类中的equals方法对Object中equals方法进行了很多优化。

2.日期时间类

·Date类:date();获取当前时间的具体值;

    date(long date);把当前的毫秒值转换成日期对象

  1970.1.1。8:0:0是初始化时间(原因是处于东八区)

  这里的方法就是getTime把日期对象转换为时间毫秒值

  这里的毫秒值为什么是指定格式的字符串形式,原因还是println方法会自动调用Date类中的toString方法,date类中的toString方法进行了时间格式的重写。

·DateFormat类是日期时间格式化子类的抽象类,可以通过这个类完成日期文本之间的转换。

  这里有的方法两种 一种是format将Date转换为字符串

           另一种是parse将字符串格式转换为Date

·Calendar类是在Date后出现从一种类,更加的方便获取时间的各个属性。

  getInstance(使用默认时区和语言获取一个日历信息)

  常用的方法   get返回给指定日历时间段的值

        set将给定的日历字段设置为给定值

        add根据日历的规则,为给定的日历字段添加或减去指定的时间量

        getTime返回一个标识此Calendar的时间值的Date对象。

3.System类

currentiTimeMills方法获取当前系统的毫秒值

arraycopy方法将数组中的指定数据拷贝到另一个数组中

这里的arraycopy参数中有五种参数 src 原数组

                srcPos 原数组索引起始值

                dest 目标数组

                destPos 目标数组索引起始值

                length 复制元素个数

4.StringBuilder

这个的学习也说明了之后的学习路会越来越多,这个就是偏优化了,因为在API文档中String类一旦生成就不能进行改变如果想有新的String对象生成就得在创建一个,这样浪费空间和时间,StringBuilder相当于一个缓冲区,可以将创建的String 对象放到这里面,从而能够进行方便和修改,也不能说是String对象了,是StringBuilder对象。

StringBuilder构造方法有两种一种是空参构造一种是将字符串添加进去的带参数的构造。

StringBuilder的两种常用方法:

·append在字符串后添加字符串

·toString即哪个StringBuilder对象转换为String对象进行使用

这里的StringBulider方法已经覆盖重写了Object类;

5.包装类

包装还是装箱和拆箱,只不过在java5之后基本类型与包装类之间的转换改为自动完成。

这里有一种语句是包装类中的方法valueOf方法

Integer a = 1;-》Integer a = Integer.valueOf(1);