#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);
#Java学习之路——基础阶段二(第一篇)的更多相关文章
- #Java学习之路——基础阶段(第一篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第十篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第七篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第六篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第五篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第三篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第九篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第八篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第四篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
随机推荐
- WinForm时间选择控件(DateTimePicker)如何选择(显示)时分秒
C# Windows窗体应用中,用到时间选择控件DateTimePicker,发现不能选择时分秒,难道要自己写一个控件?! 答案是否定的,通过属性修改是可以选择时间的,DateTimePicker完全 ...
- 转[@SuppressWarnings详解]
背景知识: 从JDK5开始提供名为Annotation(注释)的功能,它被定义为JSR-175规范.注释是以“@注释名”在代码中存在的,还可以添加一些参数 值,例如:@SuppressWa ...
- 在Mybatis-spring上基于注解的数据源实现方案
一.遇到的痛点 最近在学习Spring-boot过程中,涉及到操作数据库.按照DOC引入mybatis-spring-boot-starter,然后按照套路配置application.properti ...
- bzoj3534 [Sdoi2014]重建
变形的$Martix-Tree$定理 发现我们要求的是$\prod_{i \in E}{p_{i}} * \prod_{i \notin E}{(1-p_{i})}$ 然后呢? 矩阵树对重边也有效对吧 ...
- BZOJ_1407_[Noi2002]Savage_EXGCD
BZOJ_1407_[Noi2002]Savage_EXGCD Description Input 第1行为一个整数N(1<=N<=15),即野人的数目. 第2行到第N+1每行为三个整数C ...
- Linux文件系统选择
通过综合使用多种标准文件系统Benchmarks对Ext3, Ext4, Reiserfs, XFS, JFS, Reiser4的性能测试对比,对不同应用选择合适的文件系统给出以下方案,供大家参考.文 ...
- layui导航栏和layui.layui.msg问题
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- springcloud学习资料汇总
收集Spring Cloud相关的学习资料 学习Spring Cloud首先需要了解Spring Boot,不了解Spring Boot的同学戳这里Spring Boot学习资料汇总 重点推荐:Spr ...
- hystrix基本介绍和使用(1)
一.hystrix基本介绍 Hystrix(https://github.com/Netflix/Hystrix)是Netflix(https://www.netflix.com/global)的一个 ...
- MyEclipse 10导入JDK1.7或1.8
1.在MyEclipse,选择“windows”>"preferences"选择,打开“perference”窗口(如下图) 2.展开“perference”窗口左侧“jav ...