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. August 31st 2017 Week 35th Thursday

    Whatever happened in the past is gone, the best is always yet to come. 无论过去发生什么,最好的永远尚未到来. Correct j ...

  2. December 16th 2016 Week 51st Friday

    My life is a straight line, turning only for you. 我的人生是一条直线,转弯只是为了你. My life is a straight line that ...

  3. Tomcat服务时区设置

    tomcat服务不设置时间,会自动取系统时间,根据项目部署服务器位置不同时间会有差别,统一设置tomcat服务集群时间为东八区时间,具体设置如下: 在tomcat目录的bin文件夹下,找到文件cata ...

  4. PyCharm创建虚拟环境 和 TVTK库的安装

    注:示例系统环境:Windows10 64位 + Anaconda3: 昨天安装TVTK库遇到些麻烦,当时随便将库下到个文件夹安装后(没找到VENV文件夹...), 进行测试:from tvtk.to ...

  5. Linux环境编程之IPC进程间通信(五):Posix消息队列1

    对于管道和FIFO来说.必须应该先有读取者存在.否则先有写入者是没有意义的. 而消息队列则不同,它是一个消息链表,有足够写权限的线程可往别的队列中放置消息,有足够读权限的线程可从队列中取走消息.每一个 ...

  6. PHP------TP命名空间

    命名空间: 相当于一个虚拟的目录 正常管理文件使用文件夹--物理区分 TP框架的初始命名空间是:ThinkPHP\Library 在TP框架下命名空间里面使用\代表的是初始命名空间(ThinkPHP\ ...

  7. 【vue】父向子组件传参、子组件向父传参

    1.父向子组件传参 App.vue为父,引入componetA组件之后,则可以在App.vue中使用标签(注意驼峰写法要改成componet-a写法,因为html对大小写不敏感,componenta与 ...

  8. java从字符串中提取数字的简单实例

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法, ...

  9. Eclipse设置working set管理项目

    由于项目太多,看起来复杂,不容易找到,所以想要按文件夹区分,所以用到workingset. working set是把你这个存储空间的项目在eclipse中进行分类,只是在视图基础上分类,项目还是只有 ...

  10. 爬虫实战:汽车之家配置页面 破解伪元素和混淆JS

    本篇介绍如何破解汽车之家配置页面的伪元素和混淆的JS. ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9242156.ht ...