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

教材学习内容总结

  • 异常处理 & Collection与Map 异常继承架构

错误的对象继承java.lang.Throwable类,Throwable有两个子类Java.lang.Error与java.lang.Exceptions.

a.Erroe与其子类实例表示严重系统错误。

b.Exception与其子类实例是异常处理。

必须明确使用try,catch语法加以处理,或者用throw声明这个方法会抛出异常,否则会编译失败。

受检异常:一定要处理Exception,但不属于RuntimeException.

非受检异常:程序不强迫处理。RuntimeException是客户端引发的,属于客户端有关修改的内容,如果一定要处理,建议是呈现友好信息。

注:如果父类异常对象在子类异常对象前被捕捉,则catch子类异常对象区块将永远不会被执行。故先捕捉子类。

try、catch语法

在使用相关程序时会有许多错误,例如下列代码 这里尝试使用try、catch语法,发现JVM会尝试执行try区块中的程序代码,如果发生错误,就会跳离错误发生点比较catch括号中声明的类型,若符合被抛出错误对象类型。 try、catch语法可以捕捉try部分的异常:

无try、catch语法时,出现异常的时候程序就会报错。

使用try、catch语法时,出现异常时,程序可仍以正常运行,只是把错误信息存储到Exception里。

即catch功能为提取异常信息。

throw & throws

方法设计流程出现异常时,可以用throws FileNotFoundException抛出异常,通过调用方法的客户端来处理。

  • Collection和Map架构

Collection

java.util.List接口中,记录每个对象的索引顺序,依照索引取回对象。

java.util.Set接口中,收集对象不重复,并具有集合的行为。

java.util.Queue接口中,收集对象时以队列方式,收集的对象加入尾端,取得对象时从前端。

java.util.Deque接口中,对Queue 的两端进行加入、移除等操作。
Map

即是以键值对形式的存放数据的容器,主要以哈希Map作为其常用的实现类。Lambada和泛型

Lambada

该表达式主要功能为:简化匿名函数的写法,减轻程序员负担。
泛型

使用Collection收集对象时,由于收集对象的形态未知,因此内部操作时,都是使用object来参考被收集的对象,取回对象时也是以object类型返回。

故若想针对某类定义的行为操作,必须告诉编译程序,让对象重新扮演该类型。JDK5之后增加了泛型语法。若接口支持泛型,在操作时也会比较方便,只要声明参考时有指定类型,那么创建对象时就不用再写类型了。

泛型也可以仅定义在方法上,最常见的是在静态方法上定义泛型。

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

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

  • "Hello".charAt(1) 的值是(‘e’)
  • 父类的protected方法,在子类中可以override为public的方法。(OK)

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

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

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

public Test() throws RepletException {
try {System.out.println("Test this Project!")
}
catch (Exception e) {throw new Exception(e.toString());
}}
  • throw和throws有什么区别?

系统自动抛出的异常

所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。

语句抛出的异常

用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。

throw是语句抛出一个异常。

语法:throw (异常对象);

throw e;

throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)

语法:(修饰符)(方法名)([参数列表])[throws(异常类)]{......}

public void doA(int a) throws Exception1,Exception3{......}

网站:http://blog.csdn.net/hhy62011980/article/details/5548278

上周考试错题总结

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

  • "Hello".charAt(1) 的值是(‘e’)
  • 父类的protected方法,在子类中可以override为public的方法。(OK)

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

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

  • 参考示例

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

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

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

  • 计划学习时间:10小时

  • 实际学习时间:6小时

  • 改进情况:

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

参考资料

  • Java学习笔记(第8版)

  • 《Java学习笔记(第8版)》学习指导
  • ...

转载于:https://www.cnblogs.com/liuyiyang/p/6623928.html

20145209 2016-2017-2 《Java程序设计》第5周学习总结相关推荐

  1. 20175317 《Java程序设计》第一周学习总结

    20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...

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

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

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

    20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...

  4. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  5. 20175208 《Java程序设计》第九周学习总结

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

  6. 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第九周学习总结 教材学习内容总结 -第十一章JDBC和MySQL数据库要点: 1.下载MySQL和客户端管理工具navi ...

  7. 20155313 2016-2017-2 《Java程序设计》第二周学习总结

    20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...

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

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

  9. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  10. 张旭升20162329 2006-2007-2 《Java程序设计》第一周学习总结

    20162329 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 通过打书上的代码熟悉了Java编程的基本过程 教材学习中的问题和解决过程 1.因为我的虚拟机 ...

最新文章

  1. 宇通客车java_6米采血车
  2. 谁的python入门教程好_怎样学习Python?Python入门必看
  3. java还是c 2017_2017年9月编程语言排行榜:Java、C与C++三巨头还能统治排行榜多久?...
  4. React Native之hardwareBackPress
  5. 编译原理什么是移进规约冲突_我这个人不懂什么CPU,于是我用代码模拟出了一个...
  6. 侏罗纪世界手游显示无法登陆到服务器,《侏罗纪世界手游》不能玩 解决攻略...
  7. SAP License:系统退货处理流程
  8. UVA11774 Doom‘s Day【数学规律+GCD】
  9. python生成wps文件_使用Python操作XLS文件(wps中叫et)
  10. 关于MacBook电池的正确使用方法,和保养技巧
  11. Cadence PSpice 仿真5:运放噪声仿真实战图文教程
  12. java-net-php-python-jAVANICE体育用品交易网站系统计算机毕业设计程序
  13. 冰箱味道很臭?那你真的该学学这些除臭妙招
  14. 计算机计时器原理,定时器和计数器-微机原理与接口技术.DOC
  15. BZOJ 1062: [NOI2008]糖果雨(二维树状数组)
  16. bellman_ford算法 由边数限制的最短路
  17. 练习作业5: 韩信点兵 , 统计方案 , 出现最频的数
  18. Vue-生命周期-axios
  19. 计算系数(二项式定理逆元费马小定理)
  20. python画circos图_​用Python把图做的好看点:用Matplotlib画个Circos和弦图

热门文章

  1. linux无法将文件移入回收站,linux中使用rm命令将文件移到回收站的方法
  2. java 生成一个空文件系统_如何使用java创建一个空白的PPT文档?
  3. git rebase 修改提交信息
  4. java 泛型 通配符边界和类型形参边界的区别
  5. Python Text I/O
  6. SQLAlchemy schema.Column
  7. MySQl Modify JSON Values
  8. java junit
  9. java String类
  10. Pandas 文本数据方法 partition( )