您的位置:首页 > 编程语言 > Java开发

20155333 2016-2017-2 《Java程序设计》第五周学习总结

2017-03-26 20:53 381 查看

20155333 2016-2017-2 《Java程序设计》第五周学习总结

教材学习内容总结

1、使用try、catch语法

与C语言中程序流程和错误处理混在一起不同,Java中把正常流程放try块中,错误(异常)处理放catch块中

catch 多个异常

API文档中带throws的必须使用try...catch

多个catch一定把父类放后面

2、异常架构

Error及其子类写程序不用处理,最多留个日志

Java异常处理是要处理Exception类及其子类(Checked Exception)

RuntimeException及其子类也不用处理(Unchecked Exception)

产生RuntimeException的问题在调用代码

3、Multi-catch:类之间不能有继承关系

学习Java API时一定对上层的类好好研究,学习,再学习和应用子类时就比较容易了

4、catch or throw?

throws:自己无法处理,用在方法声明

throw:方法中抛出CheckedException,方法声明中必须有throws

5、异常堆栈

printStackTrace

善用堆栈追踪错误

代码中不要私吞异常

不要错误处理异常

处理时不要显示错误信息

6、使用finally

try-catch-finally

7、try with resources

关闭多个资源时用分号分隔

8、java.lang.AutoCloseable

try with resources的对象必须实现AutoCloseable接口

9、Connection: 增、删、遍历对象

add

remove

clear

size

iterator

10、List: 类似数组,具有位置信息,带索引

核心方法

add(int index, E element)

remove(int index)

set(int index, E element)

ArrayList

《数据结构》中的线性表

LinkedList

《数据结构》中的链表

11、Set: 其中的对象不能有重复的

12、Queue: 队列

核心方法

offer

poll

peek

Deque: 双向队列

13、Iterable与Iterator

Iterator

next

hasNext

14、Comparable与Comparator

sort:Java中对象排序,要么对象实现了Comparable可以直接sort要么提供Comparator对象告知sort如何排序

15、常用的Map类

Map

put

get

size

remove

forEach

HashMap

TreeMap

Properties:配置文件

16、访问Map键值

keySet

values

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

问题1. Error 与 Exception 的异同

解决:

Error与其子类实例代表严重系统错误,例如硬件层面错误、JVM错误或内存不足等问题。

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

问题2.

代码调试中的问题和解决过程

问题1.



解决



System.out.println(set);
改为
System.out.println(students);
即可解决。



问题2.



解决

缺少
import java.util.*;






代码托管





上周考试错题总结

1、使用JDB进行调试时查看源代码的命令是(list)。

2、”Hello”.charAt(1) 的值是(‘e’)。

3、System.out.println( “HELLO”.( toLowerCase() ) ) 会输出“hello”。

toLowerCase()的作用:将此字符串中所有字符转化为小写。

4、”Hello”.substring( 0,2 )的值是“He”。

substring()方法用于提取字符串中介与两个制定下表之间的字符。

5、写出编译P165 RPG.java的命令(javac –d . *.java)。

p165 RPG.java是一个测试函数,需把工作类及测试类的程序全部编译。

6、Java中一个类可以继承多个类。(X)

7、用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})。

enum中列举的常数一般用大写字母表示。

8、XX是一个引用型变量,System.out.println(XX)等价于System.out.println(XX.toString()). (OK)

结对及互评

20155312

这周搭档对我的帮助主要是在做周三的练习题时帮我分析、修正代码。在准备计算机二级的考试时相互鼓励,和我共享复习资料和考试经验,帮我解决学习过程中遇到的问题,还经常督促我学Java。

评分标准

正确使用Markdown语法(加1分):

不使用Markdown不加分

有语法错误的不加分(链接打不开,表格不对,列表不正确...)

排版混乱的不加分

模板中的要素齐全(加1分)

缺少“教材学习中的问题和解决过程”的不加分

缺少“代码调试中的问题和解决过程”的不加分

代码托管不能打开的不加分

缺少“结对及互评”的不能打开的不加分

缺少“上周考试错题总结”的不能加分

缺少“进度条”的不能加分

缺少“参考资料”的不能加分

教材学习中的问题和解决过程, 一个问题加1分

代码调试中的问题和解决过程, 一个问题加1分

本周有效代码超过300分行的(加2分)

一周提交次数少于20次的不加分

其他加分:

周五前发博客的加1分

感想,体会不假大空的加1分

排版精美的加一分

进度条中记录学习时间与改进情况的加1分

有动手写新代码的加1分

课后选择题有验证的加1分

代码Commit Message规范的加1分

错题学习深入的加1分

扣分:

有抄袭的扣至0分

代码作弊的扣至0分

点评模板:

基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

参考示例

点评过的同学博客和代码

20155312

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

因为前面几周没有跟上进度的缘故,感觉学习效率并未有所提高,而且越来越跟不上进度,一周学两章对我来说有点困难。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周12/121/420/20
第二周64/761/522/42
第三周560/6361/622/64
第四周532/11681/720/84
第五周510/17281/820/104
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

计划学习时间:25小时

实际学习时间:20小时

改进情况:学习效率并未有显著提高

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

Java学习笔记(第8版)

《Java学习笔记(第8版)》学习指导

...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: