20145315 《Java程序设计》第五周学习总结

教材学习内容总结

第八章

8.1语法与继承架构

8.1.1使用try,catch

所有的错误都会被打包为对象,使用try,catch可以对错误进行一些后期处理,使得错误发生时显示更友好的错误信息。
如果发生错误,执行流程会跳离错误发生点,然后比较catch中声明的类型,如果符合就执行catch中语句。

8.1.2异常继承架构

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

  1. Erroe与其子类实例代表严重系统错误。
  2. Exception与其子类实例是异常处理。必须明确使用try,catch语法加以处理,或者用throw声明这个方法会抛出异常,否则会编译失败。

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

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

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

多重捕捉语法:区块内容重复时使用。(不得有继承)

8.1.3要抓还是要抛

throw:如果抛出受检异常,但是以面前信息无法处理异常,可有客户端依据当时调用的环境信息进行处,使用throw声明。

如果是非受检异常,应该改善程序逻辑来避免引发错误。

在catch区块中进行完部分错误处理以后,可以使用throw将异常再抛出。如果抛出的是受检异常,必须在方法上使用throw声明.

可以使用异常继承,子类可以重新定义异常。

8.1.4

Java使用受检异常的目的是文件化和提供编程信息。

8.1.5

若想得知异常发生的根源,以及多重方法调用下的堆栈传播,可以利用异常对象自动收集的堆栈追踪来取得相关信息。

printStackTrace()

堆栈信息中显示了异常类型,最顶层的是异常根源,以下是调用的顺序。

如下:

java.lang.NullPointerException

at StackTraceDemo.a(StackTraceDemo.java:20)
at StackTraceDemo.b(StackTraceDemo.java:16)
at StackTraceDemo.c(StackTraceDemo.java:13)
at StackTraceDemo.main(StackTraceDemo.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)java:14)
at StackTraceDemo.main(StackTraceDemo.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

java.lang.NullPointerException

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

可以使用fillInStackTrace()方法将起点设在重抛异常的地方。

java.lang.NullPointerException

at StackTraceDemo.a(StackTraceDemo.java:26)
at StackTraceDemo.b(StackTraceDemo.java:22)
at StackTraceDemo.c(StackTraceDemo.at StackTraceDemo.c(StackTraceDemo.java:17)
at StackTraceDemo.main(StackTraceDemo.java:7)

第九章

9.1使用collection与Map

9.1.1认识架构

收集对象时,会依据需求使用不同的接口操作对象。

9.1.2索引List

  1. ArrayList特性:数组特性
  2. LinkedList特性:连接结构

    9.1.3 Set

    若有重复,则不再收集

    9.1.4 Queue

    收集的对象加入尾端,取得对象时从前端。

    9.1.5泛型语法

    表示支持泛型

    9.1.6简介lambda

键值对应的MAP

根据某个键来取得对应的值

常用MAP操作类

  1. HashMap
  2. TreeMap
  3. Properties

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

没有什么问题。。。

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

本周代码托管截图

加入小组应该就不用放截图了吧

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

感觉现在还是跟着书上走,照着书上的代码打,虽然能看懂,但是完全不会自己编。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第五周 1000/1000 1/1 40/40

参考资料

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

转载于:https://www.cnblogs.com/5315hejialei/p/5351203.html

20145315 《Java程序设计》第五周学习总结相关推荐

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

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

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

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

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

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

  4. 20165203 2017-2018-2 《Java程序设计》第一周学习总结

    20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...

  5. 20155229 2016-2007-2 《Java程序设计》第一周学习总结

    20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...

  6. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  7. 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结

    20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...

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

    20155210 2016-2017-2<Java程序设计>第一周学习总结 教材学习内容总结 1.1.1: 本节主要讲了Java的由来,1995年5月23日是Java公认的诞生日.还有版本 ...

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

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

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

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

最新文章

  1. 解决 Windows instance 时间不同步问题 - 每天5分钟玩转 OpenStack(153)
  2. cleanmymac3.9.6 for mac_色轮插件配色神器Coolorus 2.6(win+mac)
  3. 自定义布局RelativeLayout 画网格线
  4. InnoDB O_DIRECT选项漫谈(一)【转】
  5. fabric sdk php,Hyperledger Fabric PHP SDK
  6. OpenCV:使用 随机森林与GBDT
  7. scala 函数调用_在Scala中按名称调用函数
  8. 1092. To Buy or Not to Buy (20)
  9. 【渗透测试实战】PHP语言有哪些后门?以及利用方法
  10. 把日志实时写入数据库
  11. vagrant 常用的几个命令
  12. js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结
  13. 够设计师用一辈子的25款经典英文字体
  14. **关于小程序测试版本自己的头像与数据不显示问题**
  15. OpenCV常用库函数
  16. directxsdk 下载地址
  17. 不同时期的项目变更控制流程
  18. 大学网站首页html报告,“双一流”建设高校2018年度进展报告公开网址
  19. 尚硅谷《全套Java、Android、HTML5前端视频》
  20. 最新IOS xcode12真机调试步骤

热门文章

  1. pdo 连接数据库 报错 could not find driver 解决方法
  2. wpf 控件大小随窗体大小改变而改变
  3. 文件夹和文件的名称变成蓝色
  4. 敏捷个人第五次练习:个人使命宣言
  5. 每周一荐:foobar2000, 奇幻人生, 一个Flash小游戏
  6. 说给做管理软件的同行:你们得学会职业规划
  7. android Map集合的遍历
  8. android 格式化代码
  9. Android开发常用轮子
  10. Eclipse导入android项目出现很多错误