基础加强day03:
数据结构_栈:先进后出.只能在一端进行元素的添加和删除.
数据结构_队列:先进先出.入口和出口分别在两端
数据结构_数组:长度不可变,查询快增删慢.
查询快:数组的地址是连续的,我们可以通过数组的首地址快速查询到数组的元素.是一片连续的空间.
增删慢:数组的长度是固定的,我们想要增加或删除已个元素,必须创建已个新的数组把源数组复制过来
链
链表结构: 每个元素都是一个对象,对象中包含元素的数据,指针
每个元素
单向链表:增删快.查询慢;
双向链表:查询快
红黑树:
二叉树: 在二叉树的基础上元素有大小顺序的,左子树小,右子树大
平衡树:左子树等于右子树(左右子树高度不超过1)
不平衡树:左子树不等于右子树,
红黑树: 特点趋近于平衡树,查询速度快,查询叶子节点最大的次数和最小的次数不能超过2倍
约束:节点可以是红色的或者可以是黑色的
根节点是黑色的
叶子节点(空节点)是黑树的
每个红色的节点的子节点都是黑色的
任何一个节点到每一个叶子节点
基础加强day04
Map的特点: key 不可重复
value 可以重复
通过key可以找到对应的元素
基础加强day05
异常体系:
Throwable类
Errorlei:不应该被程序员处理的文题(虚拟机的错误,内存不足)
Exception:可以被处理的
RuntimeException 运行时异常
其它类型 编译器异常
异常分类:
运行时异常:
1.继承关系中:只要是RuntimeException及其子类都是运行时异常
2.编写代码的时候不会出现,只有当处理完才能编译通过
注意事项:
异常的本质奇数就是IC创建对象并抛出
编译器异常在编译时期会有编译错误,但是不是一味这你的代码已经错了,也不会再编译时期产生异常对象
编译期异常只是需要我们队可能发生的异常做一个预处理
两种异常使用上的区别:
编译期异常要求我们在编译时期必须处理.(对可能出现的问题,必须先来一个预处理)
运行时异常不需要预先处理
除李以上两点区别,其他的使用方面,编译期异常和运行时异常相同的
Day06
Day07
File
操作路径:路径不能写死了.
用File.pathSeparator来代表符号
file:文件
path:路径
directory文件夹/目录
绝对路径:是一个完整的路径
一盘符(c:,d:)开始的路径
相对路径:是一个简化的路径
相对指的是相对于当前项目的根目录
如果使用当前项目的根目录,路径可以简化书写
注意:
1.路径是不区分大小写(java是严格区分大小写的)
2.路径中的文件名称分隔符windows使用反斜杠,反斜杠是转意字符,两个反斜杠发布一个普通的反斜杠
Day09
字节输出的使用步骤:
1.创建一个FileOutputStream对象,构造方法中传递数据的目的地
2.调用FileOutputstream对象中的方法write,吧数据希尔到文件中
3.释放资源(流使用会占用一定的内存,使用完毕要把内存情况,提高程序的效率)
"黑马".getBytes(),中文传入
xxx.write("黑马程序员".getBytes(),1 2);utf-8 中文占三个字节为一个中文 (黑马程序员占15个字节,也就是15个索引)
int off(开始索引)
int len (写几个字节)
同样的中文在不一样的编码中占的字节不一样
字节输入流的使用步骤
1.创建FileInputstream对象,构造方法中绑定要读取的数据源
2.使用FileIntputstream对象中的方法read,读取文件
3.释放资源
bug真不好找!!!!!!!!!!!!!!! |
|