20145234黄斐《Java程序设计》第五周学习总结
教材学习内容总结
第八章 异常处理
语法与继承架构
try、catch:try、catch代表错误的对象后做一些处理。
异常继承架构:错误会被包装为对象,这些对象均可抛出,因此设计错误对象都继承自java.lang.Throwable类,Throwable定义了取得错误信息、堆栈追踪(Stack Trace)等方法,它有两个子类:java.lang.Error与java.lang.Exception。在此简述一下Error类与Exception类的区别,在Java中对于比较严重的问题,是通过Error类来进行描述的,而对于非严重的问题,则是通过Exception类来进行描述的。对于Error,一般不编写针对性的代码对其进行处理,因为此时已经超出了JVM的运行能力范围之外了。
异常与资源管理
finally:无论try区块中有误发生异常,若有finally区块,则finally区块一定会被执行。
Try-With-Resources:自动尝试关闭资源是协助关闭资源。
ava.lang.AutoCloseable。
Collection
- 认识collection架构Connection: 增、删、遍历对象
- add
 - remove
 - clear
 - size
 - iterator
 
 - List: 类似数组,具有位置信息,带索引。List是一种Collection,作用是收集对象,并以索引方式保留收集的对象顺序,其操作类之一是java.util.ArrayList。
- ArrayList
- 类似于《数据结构》中的线性表
 
 - LinkedList
- 类似于《数据结构》中的链表
 
 
- ArrayList
 
 - Set: 其中的对象不能有重复的。同样是收集对象,在收集过程中若有相同对象,则不再重复收集,若有这类需求,可以使用Set接口的操作对象,String的Split()方法,可以指定切割字符串的方式。一般用hashcode()与equals()来判断对象是否相同。
 - Queue: 队列
- 核心方法
- offer:添加一个元素并返回true,如果队列已满,则返回false。
 - poll:移除并返问队列头部的元素,如果队列为空,则返回null。
 - peek:返回队列头部的元素,如果队列为空,则返回null。
 
 - Deque: 双向队列。如果希望对Queue的两端进行加入、移除等动作,则可以使用java.util.Deque。
 
- 核心方法
 
 - 注意区分泛型与继承
- Java的Collection API都支持泛型:在使用Collection收集对象时,由于事先不知道被收集对象的形态,因此内部操作时,都是使用object来参考被收集的对象,取回对象时也是以object类型返回。所以若想针对某类定义的行为操作,必须告诉编译程序,让对象重新扮演该类型。JDK5之后增加了泛型语法。若接口支持泛型,在操作时也会比较方便,只要声明参考时有指定类型,那么创建对象时就不用再写类型了,泛型也可以仅定义在方法上,最常见的是在静态方法上定义泛型。
 
 - Lambda表达式
- 注意与匿名类相比的好处:DRY(Don't Repeat Yourself)。
 - 在JDK8中可以使用Lambda来简化程序,Lambda表达式的语法省略了接口类型和方法名称。—>左边是参数列,右边是方法本体。
 
 - Iterable与Iterator
- Iterator
- next
 - hasNext
 
 
- Iterator
 
 - Comparable与Comparator
- sort:Java中对象排序,要么对象实现了Comparable可以直接sort要么提供Comparator对象告知sort如何排序
 
 
Map
- 常用的Map类
- 以事先利用java.util.Map接口的操作对象来建立键值对应数据,之后若要取得值,只要用对应的键就可以迅速取得。判断键是否重复是根据hashcode()与equals(),所以作为键的对象必须操作hashcode()与equals()。
 - HashMap:建立的键值对应是无序的
 - TreeMap:建立的键值对应是有序的
 - Properties:配置文件
 
 - 访问Map键值
- keySet:将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。keySet():迭代后只能通过get()取key。
 - values:获取集合中的所有的值,没有键,没有对应关系
 
 
20145234黄斐《Java程序设计》第五周学习总结的更多相关文章
- 201521123025<java程序设计>第五周学习总结
		
1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...
 - Java程序设计第五周学习总结
		
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...
 - 20155334 2016-2017-2 《Java程序设计》第九周学习总结
		
20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...
 - 20155321 2016-2017-2 《Java程序设计》第九周学习总结
		
20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ...
 - 20145213《Java程序设计》第九周学习总结
		
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
 - 21045308刘昊阳 《Java程序设计》第九周学习总结
		
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
 - 20145236 《Java程序设计》第九周学习总结
		
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
 - 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
		
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
 - 20155303 2016-2017-2 《Java程序设计》第二周学习总结
		
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
 - 20145237 《Java程序设计》第九周学习总结
		
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
 
随机推荐
- QuantLib金融库的简易安装
			
最近在弄毕设,研究关于固定收益债券定价方面的知识,需要使用到QuantLib这个Python金融库,但是这是一个C++编译的库,官网也只给出了源代码,安装起来十分繁琐,所以在网上找了一个简易的安装方法 ...
 - mysql 表名区分大小写
			
原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:1.用root登录,修改 /etc/my.cnf:2.在[mysqld]节点下,加入一行: lowe ...
 - HDU 1281 棋盘游戏 【二分图最大匹配】
			
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1281 题意概括: 有N*M大的棋盘,要在里面放尽量多的“车”,求最多能放的车的个数,和为了放最多的车有多 ...
 - sqlserver事务怎么开启 怎么提交 怎么回滚
			
1.自动transaction每句statement都是一个transaction.例一个update指令更新多笔纪录, 要就全部成功, 只要失败,全部会回复原值. 2.ExplicitTransac ...
 - 【洛谷P1982】小朋友的数字
			
小朋友的数字 题目链接 题目翻译: 每个小朋友有一个数字,构成一个数字序列a1,a2…an 我们定义“特征值”fi为a1~ai中的最大连续子段和 再定义“分数”si为1~i-1中最大的(sj+fj), ...
 - HDU 1273 漫步森林(数学 找规律)
			
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1273 漫步森林 Time Limit: 2000/1000 MS (Java/Others) M ...
 - OC对象里面包含的结构体类型的属性,不能对该结构体属性的成员单个进行修改
			
OC对象里面包含的结构体类型的属性,不能对该结构体属性的成员单个进行修改,需要对OC对象的结构体属性整体赋值. 关于网上很多博客写着“结构体类型里面的某个属性如果想要修改是不允许单个修改的” 之解释: ...
 - “->”和“.”运算符
			
1.指向结构变量的指针. 2.定义:struct stu *pstu, 赋值是把结构变量的首地址赋给指针,不能把结构名给该指针:如, pstu = &boy; 3. 访问结构变量的成员 (*结 ...
 - 使用nuget过程中一些问题总结
			
更新System.Web.Http组件以及其相关依赖项使用以下命令更新: Update-Package Microsoft.AspNet.WebApi –reinstall 如果没有这个引用,则先添加 ...
 - 【读书笔记】The Swift Programming Language (Swift 4.0.3)
			
素材:Language Guide 初次接触 Swift,建议先看下 A Swift Tour,否则思维转换会很费力,容易卡死或钻牛角尖. 同样是每一章只总结3个自己认为最重要的点.这样挺好!强迫你去 ...