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

教材学习内容总结

语法与继承构架

我们之前接触到的C通常都是将程序流程和错误处理混在一起,在编写程序的时候必须考虑可能出现的错误并提前做好处理,然而在Java中则将错误以对象的方式呈现为java.lang.Throwable的各种实例,方便我们针对错误进行处理。以下是关于异常处理的学习。

异常体系结构

Throwable定义的错误信息分为两大子类:java.lang.Errorjava.lang.exception

  • Error类是程序无法处理的严重的系统错误。有硬件层面的错误,或者内存空间不足等问题。
  • Exception是程序本身可以处理的异常。在Java中分为非受检异常和受检异常两大类。受检异常(Exception及其子类)是在写程序时必须明确处理错误的方法,非受检异常(RuntimeException)不要求处理语法。
  • 我们要掌握Exception异常处理必须要对java上层的类认真研究才可以学好。
异常的捕捉和处理

trycatchfinallythrowthrows是在异常处理中的五个关键字。
分别应用于不同状态下的异常处理。

关键字assert

有两种用法:

1、assert boolean_expression;
如果为true,则程序继续执行。
如果为false,则程序抛出AssertionError,并终止执行。

2、assert boolean_expression; : detail_expression;
如果为true,则程序继续执行。
如果为false,则程序抛出java.lang.AssertionError,并输入。

Collection

Collection简单的理解就是是最基本的集合接口,可以收集对象,一个Collection代表一组Object,即Collection的元素(Elements)。Collection的两个“子接口”ListSet
List的作用是收集对象,并且以索引的方式保留收集的对象的顺序,set也是用来收集对象,但是set在收集的过程中如果有相同的对象就不再重复收集。

在collection收集对象时,由于事先不知道被收集的对象的形态,因此内部操作时都是用object来参考被收集的对象。

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

  • throw和throws的区别?

    • throws是用来声明一个方法可能抛出的所有异常信息
    • throw则是指抛出的一个具体的异常类型。
    • 通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。
    • throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法。
    • throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出

代码托管

上周考试错题总结

    1. CH06填空:Java中通过(继承)和接口实现多态。
    1. 填空:”Hello”.charAt(1) 的值是(‘e’)
    1. CH07 填空:面向对象中,设计经验可以用(设计模式)表达

结对及互评

评分标准

  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分

点评模板:

  • 基于评分标准,我给本博客打分:8分。

  • 参考示例

点评过的同学博客和代码

  1. 正确使用Markdown语法
  2. 模板中的要素齐全
  3. 教材学习中的问题和解决过程, 一个问题加1分
  4. 动手写新代码的加1分
  5. 代码Commit Message规范的加1分

  6. 感想,体会不假大空的加1分

7.排版精美的加一分

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

学习java已经五个星期了,这周学习了java第八章第九章的内容。从上周开始很多同学就开始对java感到疲倦了,我也不例外,进入了一个倦怠期。以前我总是把Java的学习推到周末,导致整个周末的时间全用在java上面了,就感觉到很厌烦。这周我在前面几天敲出了代码,把那些例子都运行实践了一遍,看了一遍教材。到了周末就只需要写博客了,这次周末就只花了一个晚上的时间来写博客,效率提高了很多。但是到现在为止,我还是只会跟着教材上的例子去敲代码、去实践,但要是让我自己敲代码做一个小项目我却是做不到的。这是我学习过程中很大的一个问题。我希望能通过自己的努力不依赖教材自己独立编写出一些小项目。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400
第一周 5/5 1/1 10/10
第二周 75/80 1/2 15/25
第三周 253/305 1/3 25/50
第四周 390/695 1/4 30/80 比较熟练语法
第五周 527/1222 1/5 25/105 了解了许多API架构

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

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

参考资料

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

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

    20155226 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周主要学习了一二章的内容,也浏览了剩余章节,以下是本周主要学习内容总结 1.首先了解了[ ...

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

    20155201 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC全名JavaDataBaseConnecticity,是Jav ...

  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. 微信小程序wx:for和wx:for-item的正确用法

    wx:for="{{list}}"用来循环数组,而list即为数组名wx:for-item="items" 即用来定义一个循环过程中每个元素的变量的 如果是一维 ...

  2. 无法安装HAXM (VT-X is not turned on)

    安装HAXM的时候,VT-X is not turned on. 进入bios查看,已经启动了vt-x.上网搜索发现解决有一部分电脑是因为安装了Hyper-V,解决的方法: 管理员运行cmd,输入如下 ...

  3. Read N Characters Given Read4 II - Call multiple times

    The API: int read4(char *buf) reads 4 characters at a time from a file. The return value is the actu ...

  4. Lottie开源库实现Android动画效果

    Lottie简介 Lottie是一个支持Android.iOS.React Native,并由Adobe After Effects制作aep格式的动画,然后经由bodymovin插件转化渲染为jso ...

  5. 自定义smokeping告警(邮件+短信)

    前段时间接到公司IT同事需求,帮助其配置smokeping的告警功能,之前配置的姿势有些问题,告警有些问题,现在调试OK,在此将关键配置点简单记录下. 关键的配置项主要有: 定义告警规则并配置将告警信 ...

  6. BZOJ5125 小Q的书架(决策单调性+动态规划+分治+树状数组)

    设f[i][j]为前i个划成j段的最小代价,枚举上个划分点转移.容易想到这个dp有决策单调性,感性证明一下比较显然.如果用单调栈维护决策就不太能快速的求出逆序对个数了,改为使用分治,移动端点时树状数组 ...

  7. MT【129】常数变易法

    已知数列\(\{x_n\}\)满足\[x_{n+1}=\left(\dfrac 2{n^2}+\dfrac 3n+1\right)x_n+n+1,n\in\mathbf N^*,\]且\(x_1=3\ ...

  8. 单点登录(十三)-----实战-----cas4.2.X登录启用mongodb验证方式完整流程

    我们在之前的文章中中已经讲到了正确部署运行cas server 和 在cas client中配置. 在此基础上 我们去掉了https的验证,启用了http访问的模式. 单点登录(七)-----实战-- ...

  9. Android 如何从应用返回待机界面(HOME)

    Intent mIntent = new Intent(); mIntent.setAction(Intent.ACTION_MAIN); mIntent.addCategory(Intent.CAT ...

  10. process.nextTick,Promise.then,setTimeout,setImmediate执行顺序

    1. 同步代码执行顺序优先级高于异步代码执行顺序优先级: 2. new Promise(fn)中的fn是同步执行: 3. process.nextTick()>Promise.then()> ...