20155334 2016-2017-2 《Java程序设计》第五周学习总结
20155334 2016-2017-2 《Java程序设计》第五周学习总结
教材学习内容总结
第八章:异常处理
- Java中所有错误都会被打包为对象,在编程的时候会遇到因各种原因而导致的错误,我们可以使用
try、catch组成的语法捕捉错误,还可以在捕捉处理错误之后,尝试恢复程序正常执行流程:
try {
·······
}
catch(ArrayIndexOutOfBoundsException ex) {
······
}
如果父类异常对象在子类异常前被捕捉,则
catch子类异常对象的区块将永远不会被执行。catch括号中列出的异常不得有继承关系,否则会发生编译错误。尝试执行
try区块中的程序代码,如果发生错误,执行流程会跳离错误发生点,然后比较catch括号中声明的类型,是否符合被抛出的错误对象类型,如果是的话,就执行catch区块的程序代码。在
catch区块进行完部分错误处理之后,可以使用throw(注意不是throws)将异常再抛出。错误会被包装成对象,这些对象都是可抛出的(
throw),因此设计错误对象都继承至java.lang.Throwable类,Throwable定义了取得错误信息、堆栈追踪等方法,他有两个子类java.long.Error、java.lang.ExceptionError与其子类实例代表严重系统错误(硬件层面错误,JVM错误或者内存不足),不建议用
try、catch来处理Error对象,Java应用程序本身无力回复。Exception或其子类实例可以表现程序设计本身的错误,称错误处理为“异常处理”多重捕捉:
cath( | | )会在发生多种异常时执行,但括号中列出的异常不得有继承关系FileInputStream可指定档名来开启与读取文档内容,是InputStreaam的子类,可用作创建Scanner先处理部分事项再抛出(在
throws里用try、catch再在任何流程中使用throw将异常再抛出)在流程中抛出异常就直接跳离原有的流程,抛出受检异常,认为客户端能处理异常,必须在方法上使用throws声明,抛出非受检异常,认为客户端调用方法时机出错,抛出异常要求客户端修改漏洞再来调用方法。堆栈追踪:想得知异常发生的根源,以及多重方法调用下异常的堆栈传播,可以利用异常对象自动收集的堆栈追踪
堆栈追踪最简单的方式是直接调用异常对象的
printStackTrace()
java.lang.AutoCloseable接口
- 尝试关闭资源语法可套用对象,必须操作java.lang.AutoCloseable接口
- 只要操作AutoCloseable接口,就可以套用至尝试关闭资源语法,可以同时关闭两个以上的资源对象,中间以分号分隔
- p253代码(AutoClosableDemo2)
- 地址
- try括号中越后面撰写的对象会越早被关闭
第九章:Collection与Map
认识Collection架构
具有索引的List
List是一种Collection,其作用类之一是java.util.arrayList
内容不重复的Set
Set接口:在收集过程中若有相同的对象,则不再重复收集,可以使用Set接口的操作对象
- 哈希桶:在内存中开设空间,每个空间里都有哈希函数,对象要加入
HashSet,则会调用对象的hashCode()取得哈希码并尝试放入对应号码的哈希桶中,调用equals判断两个对象是否相同是否予以收集
支持队列操作的Queue
Queue接口:收集对象时以队列方式,收集的对象加至尾端,取得对象从前端,可以使用Queue接口的操作对象,继承自CollectionQueue定义了自己的offer()、poll()、peek()方法,操作失败会返回特定值offer()在队列后端加上对象,成功返回true,失败返回falsepoll()取出队列前端对象,队列为空返回nullpeek()取得但不取出队列前端对象,队列为空返回null
教材学习中的问题和解决过程
- 问题1:不太明白
List - 问题1解决方案:查询相关博客明白了
List是一种Collection,作用是收集对象,并以索引方式保留收集的对象顺序,其操作之一是java.util.ArrayList。ArrayList特性:数组在内存中会是连续的线性空间,根据索引随机存取时速度快。有可指定容量的构造函数。LinkedList特性:若收集的对象经常会有变动索引的情况。
代码调试中的问题和解决过程
- 问题1:在调试Average的过程中,出现了编译错误的问题
- 问题1解决方案:在后来的调试过程中发现出现字母输入错误。
代码托管

上周考试错题总结
- "Hello".substring(0,2)的值是"He"
- 判断:final可以用在类,方法,变量前。(OK)
- Java中一个类可以继承多个类。(X)
- Java中一个接口可以继承多个接口。(OK)
- 在构造方法中调用本类的构造方法,要使用(this)关键字
点评过的同学博客和代码
其他(感悟、思考等,可选)
在学习的道路上没有平坦的捷径,唯有持之以恒的认真刻苦才能够学有所成。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 5/5 | 1/1 | 10/10 | |
| 第二周 | 90/95 | 1/2 | 15/25 | |
| 第三周 | 131/234 | 1/3 | 20/45 | |
| 第四周 | 289/ 523 | 1/4 | 21/66 | |
| 第五周 | 446/969 | 1/5 | 25/91 |
计划学习时间:25小时
实际学习时间:25小时
改进情况:提高了学习时间
参考资料
20155334 2016-2017-2 《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 ...
- 20155334 2016-2017-2 《Java程序设计》第二周学习总结
20155334 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 java中的基本类型 整数:有short.int.long三种 字节:byte 字符:cha ...
- 20155334 2016-2017-2 《Java程序设计》第一周学习总结
20155334 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一章主要讲了Java的前世今生以及Java的三大平台(Java SE.Java EE.Ja ...
- 20155333 2016-2017-2 《Java程序设计》第九周学习总结
20155333 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC(Java DataBase Connectivity) 驱动的四种类型 JDBC- ...
- 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 ...
随机推荐
- 《Effective C#》快速笔记(一)- C# 语言习惯
目录 一.使用属性而不是可访问的数据成员 二.使用运行时常量(readonly)而不是编译时常量(const) 三.推荐使用 is 或 as 操作符而不是强制类型转换 四.使用 Conditional ...
- Java微信二次开发(三)
各种类型消息的封装 第一步:找到com.wtz.message.response包,新建类Image.java package com.wtz.message.response; /** * @aut ...
- git-stash用法小结
[时间:2016-10] [状态:Open] [关键词:git,版本控制,版本管理,stash,git储藏] 缘起 今天在看一个bug,之前一个分支的版本是正常的,在新的分支上上加了很多日志没找到原因 ...
- bzoj 2120 数颜色 (带修莫队)
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2120 题意:两种操作:Q 询问区间 l - r 内颜色的种类 ,R 单点修改 思路 ...
- 04 Zabbix核心概念回顾
04 Zabbix核心概念回顾 1. 监控四大核心功能: 数据采集----数据储存----数据展示和数据分析-----告警 1.1. 数据采集方式: SNMP:被监控设备上面必须启用SNMP a ...
- 【BZOJ2484】[SDOI2011]打地鼠(暴力)
[BZOJ2484][SDOI2011]打地鼠(暴力) 题面 BZOJ 洛谷 题解 看到数据范围这题就应该是一个暴力题了. 先考虑假如我们知道了锤子的大小\(R*C\),那么显然只需要从左上角开始从左 ...
- JavaScript的面向对象原理之原型链详解
一.引言 在16年的10月份,在校内双选会找前端实习的时候,hr问了一个问题:JavaScript的面向对象理解吗?我张口就说“JavaScript是基于原型的!”.然后就没什么好说的了,hr可能不知 ...
- Elasticsearch 常见问题的解决思路
本文为es性能监控基础的扩展,大家可以先看下性能监控基础,熟悉下es的基本原理.为翻译性质文档,感谢原作者,原始文档地址 类似于汽车的运行方式,Elasticsearch旨在让用户快速上手和运行,而无 ...
- Linux下的定时器类实现(select定时+线程)
更好的计时器类实现:LINUX RTC机制实现计时器类(原创) 很多时候需要在LINUX下用到定时器,但像setitimer()和alarm()这样的定时器有时会和sleep()函数发生冲突,这样就给 ...
- POJ 1459 Power Network / HIT 1228 Power Network / UVAlive 2760 Power Network / ZOJ 1734 Power Network / FZU 1161 (网络流,最大流)
POJ 1459 Power Network / HIT 1228 Power Network / UVAlive 2760 Power Network / ZOJ 1734 Power Networ ...