20145229吴姗珊 《Java程序设计》第5周学习总结
20145229吴姗珊 《Java程序设计》第5周学习总结
教材学习内容总结
第八章 异常处理
1.设计错误对象都继承自java.lang.Throwable类
2.Java中所有错误都会被打包为对象,运用try、catch,可以在错误发生时显示友好的错误信息
3.Throwable有两个子类:java.lang.Error与java.lang.Exception
4.catch括号中列出的异常不得有继承关系,否则会发生编译错误
5.catch语句可以有多个,分别处理不同类的例外。Java运行时系统从上到下分别对每个catch语句处理的例外类型进行检测,直到找到类型相匹配的catch语句为止
6.如果父类异常对象在子类异常前被捕捉,则catch子类异常对象的区块将永远不会被执行
7.可以用一个catch语句处理多个例外类型,这时它的例外类型参数应该是这多个例外类型的父类,程序设计中要根据具体的情况来选择catch语句的例外处理类型
8.Error与其子类实例代表严重系统错误(硬件层面错误、JVM错误、内存不足等)
9.如果抛出的是受检异常,表示你认为客户端有能力且应该处理异常,此时必须在方法上使用throws声明;如果抛出的异常是非受检异常,表示你认为客户端调用方法的时机错了,抛出异常是要求客户端修正这个漏洞再来调用方法,此时也就不用throws声明
10.Exception或其子对象,但非属于RuntimeException或其子对象,称为受检异常
11.try所限定的代码中,当抛弃一个例外时,其后的代码不会被执行
12.如果程序撰写的流程中先return了,而且也有finally区块,那finally区块会先执行完后,再讲将值返回
13.断言客户端调用方法前,已经准备好某些前置条件(通常在private方法之中)。断言客户端调用方法后,具有方法承诺的结果。断言对象某个时间点下的状态。使用断言取代批注。
第九章 Collection与Map
1.收集对象的行为,像是新增对象的add()方法、移除对象的remove()方法等,都是定义在java.util.Collection中。既然可以收集对象,也要能逐一取得对象,这就是java.lang.Iterable定义的行为,它定义了iterator()方法返回java.lang.Iterable操作对象,可以让你逐一取得收集的对象。
2.add(int index, E element):可以将指定的元素插入此列表中的指定位置。
set(int index, E element):用指定元素替换列表中指定位置的元素
3.收集时记录每个对象的索引顺序,并可依索引取回对象,定义在java.util.List接口
4.收集的对象不重复,具有集合的行为,定义在java.util.Set接口
5.List是一种Collection,作用是收集对象,并以索引方式保留收集的对象顺序,其操作类之一是java.util.ArrayList
6.若收集的对象经常会有变动索引的情况,也许考虑链接方式操作的List会比较好,像是随时会有客户端登录或注销的客户端List,使用LinkedList会有比较好的效率
7.跟顺序有关的行为,通常要不对象本身是Comparable,要不就是另行指定Comparator对象告知如何排序
8.Queue继承自Collection,所以也具有Collection的add()、remove()、element()等方法,然而Queue定义了自己的offer()、poll()与peek()等方法,最主要的差别之一在于:add()、remove()、element()等方法操作失败时会抛出异常,而offer()、poll()与peek()等方法操作失败时会返回特定值
9.一般常用Properties的setProperty()指定字符串类型的键值,getProperty()指定字符串类型的键,取回字符串类型的值,通常称为属性名称与属性值
10.Collections的sort()方法要求被排序的对象必须操作java.lang.Comparable接口,这个接口有个compareTo()方法必须返回大于0、等于0或小于0的数
11.接口只有一个方法必须操作时,可以使用Lambda表达式取代匿名类语法
12.如果想取得Map中所有的键,可以调用Map的keySet()返回Set对象。由于键是不重复的,所以用Set操作返回是理所当然的做法,如果想取得Map中所有的值,则可以使用values()返回Collection对象
教材学习中的问题和解决过程
Error与Exception到底有什么区别
Error与其子类实例代表严重系统错误(硬件层面错误、JVM错误、内存不足等)
Exception或其子类实例代表程序设计本身的错误,所以通常称错误处理为异常处理(Exception Handling)
本周代码托管截图




其他(感悟、思考等,可选)
学习了第八章第九章,知道了一些Error的解决,知道了关键字,由于清明放假,所以提前写了博客,希望java的学习中能够慢慢追上去,跟上大家的进度。知识点总是很散很凌乱,现在学会了做笔记,查找知识也更方便,学习更加高效
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 100/100 | 1/1 | 17/17 | |
| 第二周 | 100/100 | 1/1 | 15/15 | |
| 第三周 | 200/100 | 1/1 | 17/17 | |
| 第四周 | 380/100 | 1/1 | 15/15 | |
| 第五周 | 480/480 | 1/1 | 15/15 |
参考资料
20145229吴姗珊 《Java程序设计》第5周学习总结的更多相关文章
- 20145229吴姗珊 《Java程序设计》课程总结
20145229吴姗珊 <Java程序设计>课程总结 (按顺序)每周读书笔记链接汇总 第一周:http://www.cnblogs.com/20145229ss/p/5248728.htm ...
- 20145229吴姗珊 《Java程序设计》第9周总结
20145229吴姗珊 <Java程序设计>第9周总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交 ...
- 20145229吴姗珊 《Java程序设计》第8周学习总结
20145229吴姗珊 <Java程序设计>第8周总结 教材学习内容总结 第十四章 NIO与NIO2 NIO: InputStream.OutputStream的输入输出,基本上是以字节为 ...
- 20145229吴姗珊 《Java程序设计》2天小总结
20145229吴姗珊 <Java程序设计>2天小总结 教材学习内容总结 由于这周学的内容比较简单,主要是关于日期.日期之类的东西.所以自己从书上看了一些内容 总结了第四章 认识对象 和第 ...
- 20145229吴姗珊 《Java程序设计》第7周学习总结
20145229吴姗珊 <Java程序设计>第7周学习总结 教材学习内容总结 第13章时间与日期 即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix时间)时间. 秒的单位定 ...
- 20145229吴姗珊《java程序设计》第2次实验报告
20145229吴姗珊<java程序设计>第2次实验报告 实验名称 Java面向程序设计,采用TDD的方式设计有关实现复数类Complex. 理解并掌握面向对象三要素:封装.继承.多态. ...
- 20145229吴姗珊 《Java程序设计》两天小总结
20145229吴姗珊 <Java程序设计>两天小总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.从应用程序 ...
- 20145229吴姗珊 《Java程序设计》第6周学习总结
20145229吴姗珊 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.输入串 ...
- 20145229吴姗珊《Java程序设计》2天总结
20145229吴姗珊<Java程序设计>2天总结 教材学习内容总结 异常处理 1.使用try.catch Java中所有错误都会被包装成对象,可以尝试(try)执行程序并捕捉(catch ...
随机推荐
- 解决PHP显示Warning和Notice等问题
PHP在安装后,会在php.ini 文件中设置报错.提醒.警告等方式的出现,这样的方式可以使我们在调试PHP程序的时候能及时了解程序所存在的问题.然后,有时候我们并不需要提醒.警告 等内容,比如当我们 ...
- mysql中的for update
Select…For Update语句的语法与select语句相同,只是在select语句的后面加FOR UPDATE [NOWAIT]子句. 该语句用来锁定特定的行(如果有where子句,就是满足w ...
- MySQL八:视图、触发器、事物、存储过程、函数
阅读目录 一 视图 二 触发器 三 事务 四 储存过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...
- maven+eclipse+mac+tomcat 多模块发布
之前项目中有用到过maven,但是没运行过web的maven,所以这里记录一下. 项目的结构: ---master //parent ---web-project // ---client-proj ...
- nginx 查看接口请求时间 每个请求图片的时间或者文件的
根据nginx的access_log查看接口请求时间 muyuren 发表于 1年前 阅读 2300 收藏 0 推荐 0 评论 0 推荐 收藏 首先修改修改生成日志的格式,在nginx配置文件的htt ...
- 【Python + Selenium】之unittest测试用例满足条件,进行跳过测试Skip
直接上代码: __author__ = 'zc' import unittest class demoSkipTest(unittest.TestCase): a = 70 b = 50 print( ...
- 【Mac + Mysql + Navicat Premium】之Navicat Premium如何连接Mysql数据库
参考文章: <mac用brew安装mysql,设置初始密码> 因为我需要连接数据库工具,需要密码,所以下面介绍如何设置.修改密码实现Navicat Premium连接Mysql数据库 建议 ...
- C语言进行站点开发之cgi
安装Apach 配置ApacheRuntime 以下的过程中一直点击next 配置CGI,放开配置:AddHandler cgi-script .cgi watermark/2/text/aHR ...
- C#:ref和out的联系及区别。
总结以上四条得到ref和out使用时的区别是: ①:ref指定的参数在函数调用时候必须初始化,不能为空的引用.而out指定的参数在函数调用时候可以不初始化: ②:out指定的参数在进入函数时会清空自己 ...
- C语言基础知识【函数】
C 函数1.函数是一组一起执行一个任务的语句.每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数.您可以把代码划分到不同的函数中.如何划分代码到不同的函数 ...