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. 利用python查看电脑系统信息

    #查看python默认编码格式 >>> import sys >>> print sys.getdefaultencoding() #python 2.x 默认编码 ...

  2. C#3.0新特性:隐式类型、扩展方法、自动实现属性,对象/集合初始值设定、匿名类型、Lambda,Linq,表达式树、可选参数与命名参数

    一.隐式类型var 从 Visual C# 3.0 开始,在方法范围中声明的变量可以具有隐式类型var.隐式类型可以替代任何类型,编译器自动推断类型. 1.var类型的局部变量必须赋予初始值,包括匿名 ...

  3. 英语的各种 n. adj. vt. vi. 等词性解释

    n. 名词 v. 动词(既可作及物动词,也可作不及物动词的就用这个表示) pron. 代词 adj. 形容词(后接名词) adv. 副词(修饰动词.形容词或其他副词) abbr. (这是一个缩写符号) ...

  4. angularJs的工具方法2

    一.angular.isArray     判断是否是数组 var a = []; console.log(angular.isArray(a)); //判断参数里面的是否是数组 二.angular. ...

  5. Android 之 GridView具体解释

    工作这么久以来,都是以解决需求为目标.渐渐发现这样的学习方式不好,学到的知识能立即解决这个问题,但没有经过梳理归纳. 故想系统总结下一些有趣味的知识点. 在这篇博客中想以一个样例系统解说下GridVi ...

  6. Java HttpURLConnection模拟请求Rest接口解决中文乱码问题

    转自:http://blog.csdn.net/hwj3747/article/details/53635539 在Java使用HttpURLConnection请求rest接口的时候出现了POST请 ...

  7. Java并发案例04---生产者消费者问题03--使用ReentrantLock

    /** * 面试题:写一个固定容量同步容器,拥有put和get方法,以及getCount方法, * 能够支持2个生产者线程以及10个消费者线程的阻塞调用 * * 使用wait和notify/notif ...

  8. @property 装饰器

    property() 函数作用于新式类,返回属性值. class C(object): def __init__(self): self._x = None def getx(self): print ...

  9. 第一篇markdown笔记

    博客的样式设置 1 2 3 参考第一篇博客 参考第二篇博客 高效的写博客 博客园虽然支持markdown,但是好多快捷键都不支持,以后可以先在马克飞象上写好markdown笔记,再复制到博客上.

  10. 20145216史婧瑶《Java程序设计》第五次实验报告

    20145216 实验五<Java网络编程> 实验内容 1.掌握Socket程序的编写 2.掌握密码技术的使用 3.设计安全传输系统 实验要求 1.基于Java Socket实现安全传输 ...