A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 丶笑笑 初级黑马   /  2018-4-14 18:58  /  671 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小石姐姐 于 2018-4-20 09:33 编辑


复习总结

day05
-- 获取字节码的三种方式
        ** Object类的Class getClass()方法
                Class clazz = student.getClass();
        ** 类名.class 属性
                Class clazz = Student.getClass();
                ** 因为class是关键字,所以不能使用class作为对象的字节码名字,而是使用它的谐音clazz
        ** Class类的静态方法forName(String className)
                Class clazz = class.forName("com.itheima.Student");
                ** 传入的是该类的全类名的字符串形式
                ** 该类可能会不存在,所以会抛出ClassNotFoundException异常
        *** 同一个类的字节码对象只有一个,地址值是相同的,无论创建多少个对象。所以上面三种获取的字节码对象都是同一个
--         Calendar类:日历类,也是处理时间和日期的类,用于替代Date类
        ** 创建对象
                ** Calendar是一个抽象类所以不能直接使用new创建它的对象,而是使用它的静态方法创建对象
                        ** static Calendar getInstance()
                                Calendar c = Calendar.getInstance();
        ** 静态字段
                ** static YEAR:年份
                ** static MONTH:月份 注意月份是从零开始的
                ** static DAY_OF_MONTH:日期
                ** static DAY_OF_WEEK:星期  注意星期是从零开始的
-- 包装类
        ** char Character
        ** int Integer
        ** 除了上面俩个其余都是自身类型首字母大写
        
        ** 包装类的作用
                ** 提供了一些转换方法 比如数值转换为字符串   字符串转换为数值类型
                ** 包装类默认值是null,基本数据类型的默认值是有值的。在实际开发的过程中可能会产生一些不必要的麻烦
        ** 自动装箱于自动拆箱
                ** 基本数据类型可以自动转换为自身所对应的包装类,而包装类也可以自动转换为所对象的基本数据类型
                ** 应用场景
                        ** 集合只能存储引用类型数据。但是我们在使用集合的时候,可以直接把基本数据类型添加到集合中,这就是自动装箱所带来的好处,免去了我们自己定义的麻烦
                        
-- 正则表达式
        ** 就是一种用于匹配字符串的规则,简单来说就是为了判断你所输入或者输出的数据是否满足这个规则,也可以使用这个规则去拆分字符串等功能。
        ** 什么事转义?
                ** 就是把一些在java中有特殊含义的字符,转化成普通的字符来使用。
        
day06
-- 迭代器的注意事项
        ** 使用迭代器遍历集合的时候,不可以增删集合的内容,否则会发生并发修改异常
                ** ConcurrentModificationException
        ** 如果非要使用迭代器增删元素可以使用ListIterator
-- List集合的特点和特有功能
        ** 特点
                ** 元素有序
                ** 有整数的索引
                ** 元素可以重复
        ** 特有功能
                ** void add(int index, E element): 指定索引处添加元素
                ** E remove(int index): 指定索引处删除元素
                ** E set(int index, E element): 指定索引处修改元素
                ** E get(int index): 指定索引处获取元素
        
day07
-- set 集合的特点
        ** 元素无序
        ** 元素不能重复
        ** 没有索引
-- Collections工具类
        ** static void shuffle(List list): 随机打乱集合中元素的顺序
        ** static void fill(List list, Object obj): 使用指定对象填充指定列表的所有元素
        ** static void swap(List list, int i, int j): 将指定列表中的两个索引进行位置互换
-- Map 集合的俩种遍历方式
        ** 第一种方式,把集合中的所有key放到一个set集合中,然后根据key获取值
        ** 第二种方式,把集合中有的key和value对象放到一个entry对象中,然后使用entry对象获取key和value
-- 可变参数:方法的形参可以传入不定数量个参数
        ** 定义格式: 形参数据类型... 形参名
        ** 注意事项:
                        - 可变参数的数量可以从0个到多个
                        - 可变参数只能是同一种数据类型
                        - 可变参数的定义位置必须在方法形参列表的最后一个
day08
-- 异常
        ** 就是不正常的情况, 是代码编译或运行时发生的错误
-- 异常的处理方式
        ** JVM默认处理方式
                - 如果开发者没有处理异常, 则JVM会把异常的类型, 原因, 位置显示在命令行上, 并终止程序. 发生异常之后的代码都不会再执行
        ** 手动处理异常的2种方式
          1. 捕获异常并处理: try...catch...
                 - 提前对可能发生的异常进行处理, 纠正错误并避免程序终止.
          2. 直接抛出异常: 在方法声明上添加throws 异常类型
                 - 不捕获异常, 当发生异常时向方法外界抛出, 直到最顶层的方法, 最终终止程序
                 - 一般在无法处理异常, 或希望外界处理异常时使用
-- 异常的分类
        ** 编译时异常: 编译时就发生的异常
                  - Exception及其子类(除RuntimeException体系)
                  - 处理方式: 编译时期必须处理(try...catch或throws)
        ** 运行时异常: 编译时正确, 但运行时发生的异常
                  - RuntimeException类及其子类
                  - 处理方式: 编译时期可以自由选择处理或不处理
-- 递归
        ** 递归就是方法自己调用自己
        ** 注意事项
                - 必须要定义方法的结束方式(出口). 无法结束的方法会导致内存溢出
                - 递归次数要注意. 递归次数太多会导致内存溢出
                - 所有递归都可以转换为循环
                - 而循环不一定能转换为递归                        


1 个回复

倒序浏览
我来占层楼啊   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马