教材学习内容总结

  • 程序设计本身的错误,建议使用Exception或其子类实例来表现。

  • Java中所有错误都会被打包成对象。

  • 如果父类异常对象在子类异常对象前被捕捉,则catch子类异常对象的区块将永远不会被执行。

  • 可以使用throw将异常抛出,如果抛出的是受检异常,此时必须在方法上使用throws声明。

  • 如果想要取得个别的堆栈追踪元素进行处理,则可以使用getStackTrace()。

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

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

  • 问题1:Error和Exception有什么区别?
  • 问题1解决方案:教材230页的Throwable继承架构图说明Error和Exception都是Throwable的子类,而error中有VirtualMachineError、AssertionError、ThreadDeath等机器无法解决的错误,而Exception类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。而RuntimeException是由于程序的设计有漏洞,正确设计不会出现,一般不捕获或处理。

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

  • 问题1:程序中多有出现.append,这是什么意思?

  • 问题1解决方案:经过搜索查询,append()是往动态字符串数组添加。

  • 问题2:编写课本249页的程序时,出现如下图所示的错误:

  • 问题2解决方案:删除那一行自动跳出的import com.sun.org.apache.xpath.internal.operations.String,String不属于该类。

代码托管

上周考试错题总结

  • 使用JDB进行调试时查看源代码的命令是(list)。错题原因:对JDB调试不了解。

  • ”Hello”.charAt(1) 的值是(‘e’)。错题原因:Java中字符串是从0开始,1是指第二个字符。

  • System.out.println( “HELLO”.( toLowerCase() ) ) 会输出“hello”.错题原因:不知道toLowerCase是转换成小写,对课本知识不熟悉。

  • 可以用父类声明对象引用,用子类生成对象,但需要强制类型转换。(X)错题原因:对此方面知识不了解。

  • 面向对象中,设计经验可以用(设计模式)表达。错题原因:看书不够仔细。

结对及互评

搭档:20155325谭宏璐

点评过的同学博客和代码

20155325谭宏璐
因为和搭档是室友,所以时常一起学习,彼此激励共勉,本周一起学习了计算机二级,也在学习java遇到困难时尽力为对方解决。

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

本周因周六参加计算机二级考试,所以大多数时间都在复习C语言以准备考试,从而导致java学习时间不及以前那样充分,学习得有些仓促。从下周开始希望能每天进步一些,不要再把学习任务堆积起来了。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 8/8 1/1 20/20
第二周 164/172 1/2 25/45
第三周 248/420 1/3 25/70
第四周 465/885 1/4 25/95
第五周 390/1275 1/5 15/110

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

  • 计划学习时间:20小时

  • 实际学习时间:15小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料