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

教材学习内容总结

  • Java中把正常流程放try块中,错误(异常)处理放catch块中。
  • Error及其子类写程序不用处理,最多留个日志。因为这种错误Java应用程序本身是无力回复的。
  • 在使用throw重抛异常时,异常的追踪堆栈起点,仍是异常的发生根源,而不是重抛异常的地方。如果想要让异常堆栈起点为重抛异常的地方,可以使用fillInStackTrace(),这个地方会重新装填异常堆栈的地方,并返回Throwable对象。
  • Deque双向队列

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

  • 问题1:InputMismatchException

  • 问题1解决方案:input mismatch exception翻译:输入不匹配的异常

  • 问题2:Integer.parseInt(input)

  • 问题2解决方案:含义:Integer.parseInt(input)将input转换为int类型的值

  • 问题3:assert

  • 问题3解决方案:参考资料:Java陷阱之assert关键字

    按照博客所说

我放了博客本身写的程序,程序运行成功

但是当我把true修改为不正确的表达式的时候却出现如下情况:
为什么没有终止程序呢?我的猜测是IDEA里默认不进行断言检查。经过查询,参考资料:Java 断言 assert 详解与在IDEA的配置

果然如此:

同时,改博客的程序我在idea里也进行了验证,证实如此

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

  • 问题1:

  • 问题1解决方案:少打了一行

  • 问题2:断言的测试句子不识别,见“教材学习中的问题和解决过程”问题三。

  • 问题2解决方案:见“教材学习中的问题和解决过程”问题三。

代码托管

上周考试错题总结

  • CH06填空:Java中通过(继承)和接口实现多态。

    “封装是继承的基础,继承是多态的基础。”但是这里空里不能加“封装”。

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

    最好大写

  • 面向对象中,设计经验可以用(设计模式)表达。

    p187最下面“提示”中。

  • 在构造方法中调用父类的构造方法,要使用(super)关键字

  • 在构造方法中调用本类的构造方法,要使用(this)关键字
    在构造器中可以调用本类的其他重载构造器,不能使用构造器名称来调用另一个构造器,而是应该使用Java特定的this(….)来调用。
    参考资料:java使用this关键字调用本类重载构造器Java中this调用重载构造函数

  • 实现一个类中的equals()方法时,一定要同时实现(hashCode())方法

    hashCode是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值。
    如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果,注:这里说的equals(Object) 方法是指Object类中未被子类重写过的equals方法。
    如果两个hashCode()返回的结果相等,则两个对象的equals方法不一定相等。
    如果两个对象相同,就是适用于equals(Java.lang.Object) 方法,那么这两个对象的hashCode一定要相同。

    参考资料:百度百科hashcodeJava中hashCode的作用

结对及互评

搭档:20155328张钰清 zhang98

点评过的同学博客和代码

其他

虽然看了学习指导重点,但是还是无法从中抓出考试的侧重,内心复杂,继续修炼。
本周为了筹备这周的某考试,不得不花了很多时间去弄那个,深感提高效率的重要性。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 16篇 400小时
第一周 9/9 1/1 19/19 熟练下载安装技能,锻炼解决问题能力
第二周 185/194 1/2 16/35 下载并熟悉IDEA,练习使用码云、git的技能。
第三周 488/535 1/3 18/53 花了更少时间磨合软件,学习更顺利
第四周 366/901 2/5 18/71 继承、多态、行为
第五周 611/1512 1/6 14/67 异常处理、Collection与Map

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式

  • 计划学习时间:15小时

  • 实际学习时间:14小时

  • 改进情况:调整状态,继续学习。

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

参考资料

posted @ 2017-03-26 20:31  难能可贵成功犯傻  阅读(262)  评论(4编辑  收藏  举报