当前位置: 首页 > news >正文

20145103《java程序设计》第五周学习总结

20145103《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.认识Collection架构
JavaSE提供了满足各种需求的API,在使用这些API前,建议先了解其继承与接口的操作架构,才能了解何时该采用哪个类,以及类之间如何彼此合作,而不会沦为死背API或抄写范例的境界。

收集对象的行为,像是新增对象的add()方法、移除对象的remove()方法等,都是定义在java.util.Collection中。既然可以收集对象,也要能逐一取得对象,这就是java.lang.Iterable定义的行为,它定义了iterable()方法返回java.util.Iterator操作对象,可以让你逐一取得收集的对象。Collection接口中有三个子接口,分别是List、Set和Queue。如果希望收集时记录记录每个对象的索引顺序,并可依索引取回对象,可以使用java.util.List接口,如果希望收集的对象不重复,具有集合的行为,可以使用java.util.Set接口,如果希望收集对象时以队列方式,收集的对象假如至尾端,取得对象时从前端,则可以使用java.util.Queue接口,如果希望对Queue的两端进行加入、移除等操作,则可以使用java.util.Deque。

2.键值对应的Map
就如同网络搜素,根据关键字可找到对应的数据,程序设计中也常有这类的需求,根据某个键来取得对应的值。可以事先利用java.util.Map接口操作对象来建立键值对应数据,之后若要取得值,只要用对应的键,只要用对应的键就可以迅速取得。
常用Map操作类有HashMap、TreeMap和Properties。HashMap的特点是线程不安全,速度快,允许存放null 键,null值,TreeMap会对键进行排序,条件是作为键的对象必须操作Comparable接口,或者是在创建TreeMap时指定操作Comparable接口的对象,Properties的setProperty()可以指定字符串类型的键值,getProperty()可以指定字符串类型的键,取回字符串类型的值,通常称为属性名称与属性值。

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

这周课本过的比较快,看的不是很仔细,以后再慢慢加强吧。
890892-20160403225242879-1524186658.png

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标2000行16篇400小时
第一周200/2001/220/20
第二周200/4001/320/40
第三周200/6001/420/30
第四周200/8001/520/80
第五周200/10001/620/100

转载于:https://www.cnblogs.com/20145103fwh/p/5350914.html

相关文章:

  • 【leetcode】283.moveZeroes
  • 澳网张帅首夺大满贯 女双携斯托瑟挑落卫冕冠军
  • Stackoverflow问答:Java是传值还是传引用?
  • 华中科大提出EAT-NAS方法:提升大规模神经模型搜索速度
  • opencv 人脸识别 (一)训练样本的处理
  • 俄罗斯食品来中国“过年”
  • Python入门基础
  • 虚拟现实与大数据
  • 市场监管总局:保健食品应标注不具疾病预防治疗功能
  • Linux进程管理之“四大名捕”
  • 甘肃崆峒古镇“文化赶集”:非遗“上台”贺新春
  • [共享WIFI]将笔记本网络设置为共享WIFI
  • python之logging模块
  • MySQL创建用户与授权
  • 中国PPP管理库项目累计投资额13.2万亿元
  • [译]前端离线指南(上)
  • canvas 五子棋游戏
  • ES6语法详解(一)
  • Linux各目录及每个目录的详细介绍
  • Python 基础起步 (十) 什么叫函数?
  • Python连接Oracle
  • Sublime text 3 3103 注册码
  • Terraform入门 - 1. 安装Terraform
  • Vue 重置组件到初始状态
  • 安卓应用性能调试和优化经验分享
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 当SetTimeout遇到了字符串
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 小程序开发之路(一)
  • 一个项目push到多个远程Git仓库
  • - 转 Ext2.0 form使用实例
  • 正则表达式-基础知识Review
  • ​用户画像从0到100的构建思路
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #android不同版本废弃api,新api。
  • #QT项目实战(天气预报)
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • $.each()与$(selector).each()
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (三)mysql_MYSQL(三)
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)大道至简,职场上做人做事做管理
  • ..回顾17,展望18
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET 中 GetProcess 相关方法的性能
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [Android学习笔记]ScrollView的使用
  • [element-ui] el-dialog 中的内容没有预先加载,因此无法获得内部元素的ref 的解决方案
  • [GN] Vue3快速上手1
  • [JS7] 显示从0到99的100个数字