20145305 《Java程序设计》第5周学习总结

教材学习内容总结

1.设计错误对象都继承自java.lang.Throwable类

2.Throwable有两个子类:java.lang.Error与java.lang.Exception

3.Error与其子类实例代表严重系统错误(硬件层面错误、JVM错误、内存不足等)

4.程序设计本身的错误,建议使用Exception或其子类实例来表现,通常称错误处理为异常处理

5.如果某个方法声明会抛出Throwable或子类实例,只要不属于Error或java.lang.RuntimeException或其子类实例,必须明确使用try、catch语法处理,或者在方法中用throws声明这个方法会抛出异常

6.Exception或其子对象,但非属于RuntimeException或其子对象,称为受检异常

7.执行时期异常,编译程序不会强迫一定得在语法上加以处理,也称非受检异常

8.多重捕捉语法仍需注意异常的继承,catch括号中列出的异常不得有继承关系

9.收集时记录每个对象的索引顺序,并可依索引取回对象,定义在java.util.List接口

10.收集的对象不重复,具有集合的行为,定义在java.util.Set接口

11.收集对象时以队列方式,收集的对象加入至尾端,取得对象时从前端,定义在java.util.Queue接口

12.对Queue的两端进行加入、移除等操作,定义在java.util.Deque

13.判断对象是否重复时,调用hashCode()与equals()方法,规格书中建议,两个方法必须同时操作

14.跟顺序有关的行为,通常要不对象本身是Comparable,要不就是另行指定Comparator对象告知如何排序

15.接口只有一个方法必须操作时,可以使用Lambda表达式取代匿名类语法

16.一般常用Properties的setProperty()指定字符串类型的键值,getProperty()指定字符串类型的键,取回字符串类型的值,通常称为属性名称与属性值

教材学习中的问题和解决过程

P269页中的程序中,还没有理解HashSet操作概念图中的哈希编码来判断是否重复的过程是什么意思


package cc.openhome;

import java.util.*;

class Student {
    private String name;
    private String number;
    Student(String name, String number) {
        this.name = name;
        this.number = number;
    }
    
    @Override
    public String toString()  {
        return String.format("(%s, %s)", name, number);
    }
}

public class Students {
    public static void main(String[] args) {
        Set students = new HashSet();
        students.add(new Student("Justin", "B835031"));
        students.add(new Student("Monica", "B835032"));
        students.add(new Student("Justin", "B835031"));
        System.out.println(students);
    }
}

本周代码托管截图

其他(感悟、思考等,可选)

这周实践部分做的也不是很好,因为马上就要放假了,掌控好自己的进度,努力跟上吧

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时 基本掌握JAVA
第一周 200/200 1/2 20/20 了解基本的JAVA
第二周 250/450 2/4 20/40 了解基础语法
第三周 500/950 1/5 20/60 了解JAVA语法核心
第四周 869/1819 1/6 30/90 了解继承、接口、多态的知识
第五周 918/2737 1/7 25/115 了解了很多异常处理的知识

参考资料

posted on 2016-03-31 20:15  20145305解佳玲  阅读(126)  评论(2编辑  收藏  举报