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

教材学习内容总结

Chapter8

  • 就Java在异常处理的设计上,不鼓励捕捉InputMismatchException。
  • 最好不用try、catch来处理Error对象,但不并不建议,发生严重系统错误时,Java应用程序本身是无力回复的。
  • catch括号中列出的异常不得有继承关系,否则会发生编译错误。
  • 使用堆栈追踪前提是程序代码中不可有私吞异常的行为,例如在捕捉异常后什么都不做。
  • 在使用throw重抛异常时,异常的追踪堆栈起点,仍是异常的发生根源,而不是重抛异常的地方。
  • 如果想要让异常堆栈起点为重抛异常的地方,可以使用fillInStackTrace方法,这个方法会重新装填异常堆栈,将起点设为重抛异常的地方,并返回Throwable对象。
  • 使用断言注意:
    • 断言客户端调用方法前,已经准备好某些前置文件(通知在private方法之中)。
    • 断言客户端调用方法后,具有方法承诺的结果。
    • 断言对象某个时间点下的状态。
    • 使用断言取代批注。
    • 断言程序流程中绝对不会执行到的程序代码部份。
  • 最后一定要关闭资源。
  • 无论try区块中有无发生异常,若撰写finally区块,则finally区块一定会被执行。
  • 想要尝试自动关闭资源的对象,是撰写在try之后的括号中,如果无须catch处理任何异常,可以不用撰写,也不用撰写finally自行尝试关闭资源。
  • 尝试关闭资源与法也可以同时关闭两个以上的对象资源,只要中间以分好分隔。
  • try的括号中,越后面撰写的对象会越早被关闭。

Chapter9

  • 如果想要收集时具有索引顺序,实作方式之一就是使用数组,而以数组实作List的就是java.util.ArrayList。
  • List是一种Collection,作用是收集对象,并以索引方式保留收集的对象顺序 。
  • LinkedList在实作List接口时,采用了链结(Link)结构 。
  • 想要指定索引随机存取对象时,链结方式都得使用从第一个元素开始查找下一个元素的方式,会比较没有效率,像排序就不适合使用链结实作,链结的每个元素会参考下一个元素,这有利于调整索引顺序 。
  • Java中许多要判断对象是否重复时,都会呼叫hashCode()与equals()方法 。

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

  • P229的代码中console.next()怎么用?
  • 以前看的有点忘了,在书的P87有介绍:

    如果直接取得上一个字符串(以空格或换行分隔),则使用next(),如果想取得用户输入的整行文字,则使用nextline()(以换行分隔)。

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

  • 按照书上的代码敲,怎么也通过不了编译。

  • 反复看了代码之后做了改变

代码托管

上周考试错题总结

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

    • 对JDB掌握不够。没有认真学习。
  • System.out.println( “HELLO”.( toLowerCase() ) ) 会输出“hello”.。
    • 对字符串那块没有及时复习。
  • 可以用父类声明对象引用,用子类生成对象,但需要强制类型转换。(X)
    • 概念没有理解透彻。
  • 父类的protected方法,在子类中可以override为public的方法。(OK)
    • 对protected没有掌握。
  • 父类中有个public void fight(),子类中有个public void fight( Weapon w),这两个方法的关系是Override.(X)
    • 没有理解override 。
  • Math中的abs()方法可以Override.(X)
    • 不了解abs().
  • 用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})。
    • 因为概念掌握不是很牢固,前面写的太慢了,所以这题没有来得及写完。
  • 面向对象中,设计经验可以用(设计模式)表达
    • 因为概念掌握不是很牢固,前面写的太慢了,所以这题没有写。

结对及互评

评分标准

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

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

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

  5. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  6. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
  7. 扣分:
    • 有抄袭的扣至0分
    • 代码作弊的扣至0分

点评模板:

  • 基于评分标准,我给本博客打分:12分。得分情况如下:
  1. 正确使用Markdown语法,加1分;
  2. 模板中的要素齐全,加1分;
  3. 教材学习中的问题和解决过程, 加2分
  4. 代码调试中的问题和解决过程, 加2分
  5. 本周有效代码超过300分行,加2分
    6 其他加分,加2分 :
  • 排版精美的加1分
  • 进度条中记录学习时间与改进情况的加1分

  • 参考示例

点评过的同学博客和代码

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

  • 学习java的时间也有5周了,但是感觉前面知识点太多,最近忙着准备ctf,没有太多时间复习,导致Java的根基有点松动,上周考试成绩也是很不如意。对我而言,目前最重要的是更加合理地安排时间,及时复习前面的知识。
  • 借鉴ctf的学习经验,我认为首先促进我们学习Java的问题是要提起我们的兴趣,、。很多人打ctf一入门就看网上教学视频很是枯燥乏味,然后不会认真去学ctf。还记得去年暑假培训长亭科技的老赛棍陈坤说,平时没有目的的时候没有人愿意去学习,必须有实际地任务,当为了做题去学习,效率会特别高。我想如果我们现在能够以做项目为学习任务代替写博客,我们会更加有动力去学习Java。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 18/18 1/1 10/10
第二周 172/190 1/2 18/38
第三周 464/654 1/3 23/61
第四周 876/1530 1/4 28/89
第五周 831/2361 1/5 15/114

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

  • 计划学习时间:30小时

  • 实际学习时间:15小时

  • 改进情况:本周前几天硬盘出现了问题,电脑一直没有开机,所以没能够学习Java,在前几周出现了一次博客丢失的问题后,我及时进行备份,文件没有损失,知道周四硬盘寄到我花了将近两天时间进行系统迁移和硬盘恢复以还原电脑原来的状态。加上近几天准备ctf所以没有留下充足时间进行学习Java.这周学习任务很重,我没有用足够的时间学习,实际学习时间很有待于提高。

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

参考资料

20155212 2016-2017-2 《Java程序设计》第5周学习总结的更多相关文章

  1. 20155306 2016-2017-2 《Java程序设计》第九周学习总结

    20155306 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 Java语言访问数据库的一种规范,是一套API ...

  2. 20155236 2016-2017-2 《Java程序设计》第九周学习总结

    20155236 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 1.JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标 ...

  3. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  4. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  5. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  6. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  7. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  8. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  9. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  10. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

随机推荐

  1. Azure Internet 负载均衡器建立

    摘自微软官方文档 Azure load balancer 是位于第 4 层 (TCP, UDP) 的负载均衡器. 该负载均衡器可以在云服务或负载均衡器集的虚拟机中运行状况良好的服务实例之间分配传入流量 ...

  2. [EffectiveC++]item41:了解隐式接口和编译期多态

  3. 【转】深入浅出 iOS 之生命周期

    [iOS]深入浅出 iOS 之生命周期 深入浅出 iOS 之生命周期  http://blog.csdn.net/kesalin/article/details/6691766 罗朝辉(http:// ...

  4. android--简单的发短信功能

    一.准备字符资源 <string name="tip_phone">请输入电话号码</string> <string name="tip_s ...

  5. CString char BSTR 转换

     关于字符集不一的历史原因,可以参考: UNICODE与ANSI的区别 以下是网上转载的资料.我将辅以自己的实例,说明并总结关系. 一.CString, int, string, char*之间的转换 ...

  6. 108.UIView关于布局和约束的方法(AutoLayout)

    http://blog.csdn.net/wangyanchang21/article/details/52270136 关于布局(UIViewHierarchy) 1.layoutSubviews ...

  7. HTML5旋转立方体

    http://42.121.104.41/templets/default/test1.htm 须要源代码的留言邮箱哈~

  8. 【转+修改】容联云通讯api调用短信发送调用

    转自   https://my.oschina.net/u/1995134/blog/814540 需要荣联云通讯 的 相对应SDKjar包. CCP_REST_SMS_SDK_JAVA_v2.6.3 ...

  9. BZOJ1014:[JSOI2008]火星人(Splay,hash)

    Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:madamimadam, 我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 ...

  10. python中执行shell命令

    查看输出结果 import os output = os.popen('cat 6018_gap_5_predict/solusion2/solusion2_0-1.txt | wc -l') pri ...