20155330 2016-2017-2 《Java程序设计》第五周学习总结
20155330 2016-2017-2 《Java程序设计》第五周学习总结
教材学习内容总结
学习目标
- 理解异常架构
- 掌握try...catch...finally处理异常的方法
- 会用throw,throws
- 理解Collection和Map架构
- 会用常见的数据结构和算法
- 了解Lambada和泛型
第八章 章节主要内容

小结
- Throwwable定义了取错误信息、堆栈追踪(Stack Trace)等方法,它有两个子类:java.lang.Error与java.lang.Exception。
- catch括号中列出的异常不得有继承关系,否则会发生编译错误。
- 如果父类异常对象在子类异常对象前被捕捉,则catch子类异常对象将永远不会被执行。
- 在catch区块进行完部分错误处理之后,可以使用throw将异常再抛出。
- 使用throw重抛异常时,异常的追踪堆栈起点,仍是异常的发生根源,而不是重抛异常的地方。
- JDK7的尝试关闭资源语法可套用的对象,必须操作java.lang.AutoCloseable接口。
第九章 章节主要内容

小结
- Java中判断对象是否重复时,须同时操作调用hashCode()与equals()方法。
- 如果对象有操作Queue,并打算以队列方式使用,且队列长度受限,应使用offer()、poll()与peak()等方法。
- 在Java的规范中,跟顺序有关的行为,通常对象本身是Comparable或另行指定Comparator对象告知如何排序。
教材学习中的问题和解决过程
- 问题1:除了InputMismatchException错误外,Java中常见的错误类型还有哪些?
- 解决方案:
Exception 各种异常的根类
如果你不知道将发生的异常集体属于哪,而可以肯定种这个地方会出现异常时,可以把异常类型定义为Exception。
ArithmeticException 算数运算错误异常
这个异常是在算数运算时经常遇到的,常见的情况是除数为0时抛出的异常。
ArrayIndexOfOutBoundsException 数组下标越界
编程时要记住Java数组下标是从0开始的,数组下标最大值为数组长度减1,如arr[10],最后一个数组元素是arr[9],如果写成arr[10]就会出现ArrayIndexOfOutBoundsException异常。
NullPointException 空指针异常
这个异常是针对调用未经初始化或未定义的对象抛出的异常。
ClassNotFoundException 不能加载所需的类
在java文件编译后,可能是由于需要把.class文件移到了其他的文件夹,此时引用这个.class文件要注意修改其路径,否则会抛出ClassNotFoundException异常。
InputMismatchException 输入的数据类型与所需类型不匹配异常
比如你需要int类型,但是通过输入框得到的是String类型,就会抛出InputMismatchException异常。
IllegalArgumentException 方法接受非法参数
这个是传入方法中的参数类型不正确,如方法plus(int a,int b),调用时写成a.plus(1,a)就会出现IllegalArgumentException异常。
NumberFormatException 字符串转换成数字异常
在数据类型强制转换时出现的异常,字符串“123”转换成数字123不会出现异常,但是字符串“1@23”转换成int类型就会抛出ClassCastException异常。
代码调试中的问题和解决过程
- 问题1:课本中的Students代码在编译时出错。
- 解决方案:经检查和搜索发现是由于
System.out.println(set)中的set关键字设置错误,括号中的关键字应为students。 - 问题2:在编译课本代码SimpleLinkedList时出现无法编译运行的错误

- 解决方案:结合课本知识以及网上搜索,得出的结论是由于findElemOf函数的返回类型是Object,所以该程序的last节点的调用应该为last.o而非last.elem。
代码托管
代码提交过程截图:

代码量截图:

上周考试错题总结
- 错题1:14. CH06 判断:抽象类的子类可以是抽象类也可以不是。(OK)
- 理解情况:Java中的抽象类可以含有非抽象方法,继承自抽象类的子类对于父类中所有的非抽象方法,覆盖不覆盖都行,但是所有抽象方法必须要覆盖,如果不覆盖,那么:这个子类必须也是抽象类,被声明为abstract。
- 错题2:20. CH06 判断:final可以用在类,方法,变量前。(OK)
- 理解情况:final的用法:
- 修饰变量,为常量,值不可变;
- 修饰对象,值可变,引用不变;
- 修饰方法,方法不可重写;
- 修饰类,无子类,不可以被继承,更不可能被重写。
结对及互评
搭档的博客中提到了一些我在学习过程中没有注意到的问题,解决的方案也让人易懂,值得我借鉴学习。
评分标准(满分10分)
- 从0分加到10分为止
- 正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
- 模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
- 本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
- 其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
点评模板:
- 基于评分标准,我给本博客打分:9(0-10)。得分情况如下:
- 正确使用Markdown语法(加1分);
- 模板中的要素齐全(加1分);
- 教材学习中的问题和解决过程, 加1分;
- 代码调试中的问题和解决过程, 加2分;
- 本周有效代码超过300分行的(加2分);
- 其他加分,加2分:
- 排版精美的加1分;
- 代码Commit Message规范的加1分。
点评过的同学博客和代码
其他(感悟、思考等,可选)
这周的学习任务依然很繁重。经过五周的学习,发现课本中有不少漏洞,特别是示例代码常常会出错,这也考验了我们解决问题的能力。在学习过程中,查询API是个很重要的方法,但是现在还不能熟练的运用,多数时间还是靠直接上网搜索的方式来解决问题。
另外,从这周开始的结对学习给我的帮助也很大。因为每个人的学习方法不同,所以博客中体现的风格也不一,更重要的是,在学习过程中遇到的问题不同,在阅读他人的博客时,可以发现自己疏漏的问题,并加以学习。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 18篇 | 300小时 | |
| 第一周 | 15/15 | 1/1 | 15/15 | |
| 第二周 | 159/174 | 1/2 | 20/35 | |
| 第三周 | 414/588 | 1/3 | 18/53 | 了解了封装、对象 |
| 第四周 | 461/1049 | 1/4 | 18/71 | |
| 第五周 | 786/1835 | 1/5 | 18/89 |
计划学习时间:16小时
实际学习时间:18小时
参考资料
20155330 2016-2017-2 《Java程序设计》第五周学习总结的更多相关文章
- 201521123025<java程序设计>第五周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...
- Java程序设计第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...
- 20155330 2016-2017-2 《Java程序设计》第九周学习总结
20155330 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛 ...
- 20155330 2016-2017-2 《Java程序设计》第二周学习总结
20155330 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 学习目标 了解Java编程风格 认识Java的类型与变量 掌握Java流程控制的方法(分支. ...
- 20155304 2016-2017-2 《Java程序设计》第九周学习总结
20155304 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC ...
- 20155321 2016-2017-2 《Java程序设计》第九周学习总结
20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
随机推荐
- 利用css制作带边框的小三角
标签(空格分隔):css 在项目中会使用到的小实例,目前知道的有两种方法来实现 设置元素的宽和高,利用rotate实现,比较简单的一种 div{ width: 10px; height: 10px; ...
- ISCC2018(misc)
ISCC2018 misc writeup(部分) 这些天做个了iscc题目,有些题目不是很难,网上都有相同的题或者类似的题目,但是我很菜,没做出来多少. #misc1:Where is the FL ...
- 钉钉开发c#帮助类 获取用户信息 DingHelper.cs
using System;using System.Collections.Generic;using System.Configuration;using System.Linq;using Sys ...
- 记录下log4j的两种配置方式
XML文件配置 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configura ...
- BZOJ3142 HNOI2013数列(组合数学)
考虑差分序列.每个差分序列的贡献是n-差分序列的和,即枚举首项.将式子拆开即可得到n*mk-1-Σi*cnt(i),cnt(i)为i在所有差分序列中的出现次数之和.显然每一个数出现次数是相同的,所以c ...
- linux shell 执行命令顺序
1.shell命令搜索顺序 在linux shell 中输入一个命令,如果有多个同名指令,shell需要按照一定规则去取优先级高的一个执行,shell命令的搜索顺序为: 1.别名,使用alias创建的 ...
- Nginx4大模块——proxy、headers、upstream、stream
一:ngx_http_proxy_module 反向代理( reverse proxy) 方式是指用代理服务器来接受 Internet 上的连接请求, 然后将请求转发给内部网络中的上游服务器, 并将从 ...
- BZOJ 3143 游走 | 数学期望 高斯消元
啊 我永远喜欢期望题 BZOJ 3143 游走 题意 有一个n个点m条边的无向联通图,每条边按1~m编号,从1号点出发,每次随机选择与当前点相连的一条边,走到这条边的另一个端点,一旦走到n号节点就停下 ...
- Codeforces 438D (今日gg模拟第二题) | 线段树 考察时间复杂度的计算 -_-|||
Codeforces 438D The Child and Sequence 给出一个序列,进行如下三种操作: 区间求和 区间每个数模x 单点修改 如果没有第二个操作的话,就是一棵简单的线段树.那么如 ...
- 基本数据结构 —— 二叉搜索树(C++实现)
目录 什么是二叉搜索树 二叉搜索树如何储存数值 二叉搜索树的操作 插入一个数值 查询是否包含某个数值 删除某个数值 测试代码 参考资料 什么是二叉搜索树 二叉搜索树(英语:Binary Search ...