20145320 《Java程序设计》第5周学习总结

教材学习内容总结

8.1 语法与继承架构

try、catch

Java中的错误会被包装为对象,而使用trycatch,JVM会执行try区块中的程序代码。若发生错误,执行流程会比对catch括号中声明的类型,是否符号被抛出的错误对象类型,如果是的话就执行catch区块中程序代码

异常继承架构

错误会被包装为对象继承自java.lang.Throwable,他有两个子类java.lang.Errorjava.lang.Exception

Error与其子类代表严重系统错误,建议不用trycatch处理,因为java可能无力回天。

而程序设计本身的错误建议使用Exception实例表现,常称为错误处理为异常处理。

若某个方法声明会抛出Thorwable或子类实例,只要不是属于Errorjava.lang.RuntimeException,就必须明确使用trycatch语法加一处理,或者在方法中使用throws声明这个方法会抛出异常,否则编译失败

认识堆栈追踪

堆栈追踪信息中显示了异常类型,最顶层是异常的根源,但是前提是程序代码中不可有私吞异常的行为、对异常做了不适当的处理,或显示了不正确的信息

8.2 异常与资源管理

若有撰写finally块,则无论try区块中有无发生异常,finally区块一定会被执行。假如在流程中先遇到了return,那么finally块还是先执行在返回值

若一个异常被catch后的处理过程引发另一个异常,会抛出第一个异常作为响应,在java.lang.Throwable中新增了addSuppressed()方法,把第二个异常记录在第一个异常之中。

尝试关闭资源语法也可以同时关闭两个以上对象资源,只要中间以分号分隔。在try的括号中,越后面撰写的对象资源会越早被关闭
9.1 使用Collection架构

  • 认识Collection架构

    如同数据结构一样,在java.util.Collection中有增、删、遍历对象
    add、
    remove、
    clear、
    size、
    iterator


(如图)

具有索引的List

核心方法
add(int index, E element)
remove(int index)
set(int index, E element)
ArrayList相当于数据结构的线性表,
LinkedList相当于数据结构链式表

内容不重复的set

在收集过程中若有相同对象,想要重复收集,可以使用set接口的操作对象

支持队列操作的Queue

除了Collection中的操作之外,Queue还定义了自己的offer()、poll()、peek(),出错时返回特定值


Queue与Deque之间的差别
9.2 键值对应的Map

  • 如网络搜索,根据关键字可以找到对应数据,程序设计中的java.util.Map接口的操作对象用来简历键值对应数据,之后若要取值只要对应的键就可用迅速取得了

常用的Map操作类有HashMap、TreeMap与Properties三种。

如果想取得Map中所有的键,可以调用Map的keySet()返回Set对象。由于键是不重复的,所以使用Set操作返回或者使用values()返回Collection对象

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

对于9.1节中各个类都与数据结构联系紧密,在用计算机知道怎么之前,首先人要知道怎么做,比如一些增删查改的操作。
自己看起来都懂了,但是要自己敲一个代码出来确实有点困难,周四考试就已经体现了这个问题了。

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

public class Main {
public static void main(String[] args){
    Object[] objs={"Java","7"};
    Integer number =(Integer) objs[1];
    System.out.println(number);
}
}

这段代码错在把String型强制为了Int型,则系统就会ClassCastException堆栈追踪

public class Main {
public static void main(String[] args){
   try{
   int number =Integer.parseInt(args[0]);
   System.out.println(number++);
}catch(NumberFormatException ex){
    System.out.println("必须输入数字");
}}}

这段代码若在IDE中运行不会显示NumberFormatException,而是ArrayIndexOutOfBoundException。但是若在指令行输入自变量one,就会显示“必须输入数字”

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

随着java的深入学习,我发现课本上的内容已经越来越难懂了,要想真正完全搞懂,不仅要读很多遍书,还要敲很多代码,这些代码最好还是自己原创的。我苦于自己没有这么多时间敲这么多代码,感觉自己被java滚雪球了,不过学了这么久java,发现java里面的知识比c语言更多,比c语言好用一点。

代码托管如图

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 20篇 400小时
第二周 300/500 1/2 18/38
第三周 300/ 800 1/3 22/60
第四周 300/1100 1/4 30/90
第五周 300/1400 1/5 20/110

参考资料

20145320 《Java程序设计》第5周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. Shell命令和流程控制

    Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...

  2. Sql Server创建函数

    在使用数据库的过程中,往往我们需要对有的数据先进行计算,然后再查询出来,所以我们就需要创建函数来完成这项任务,在数据库的Programmability(如图1)下面的Function中创建函数(如图2 ...

  3. 获得Map的选择集

    ISelection selection = m_hookHelper.FocusMap.FeatureSelection;            IEnumFeatureSetup iEnumFea ...

  4. SQL Server 变更数据捕获(CDC)

    标签:SQL SERVER/MSSQL SERVER/数据库/DBA/字段/对象更改 概述 变更数据捕获用于捕获应用到 SQL Server 表中的插入.更新和删除活动,并以易于使用的关系格式提供这些 ...

  5. 百度eCharts体验

    前言 从昨天开始给项目里添加一些图表对比功能,上一个项目里使用的是Highcharts,本打算继续用Highcharts做的,昨天试了下做出来的效果不太好,主要也是因为看的多了没什么新鲜感了,于是便尝 ...

  6. ImportError: The _imagingft C module is not installed

    添加验证码模块的时候,发布到服务器上居然报了这个错误 ImportError: The _imagingft C module is not installed 然而pillow是已经装在服务器上的, ...

  7. Quartz2D 编程指南(一)概览、图形上下文、路径、颜色与颜色空间

    概览 图形上下文 路径 颜色与颜色空间 变换 图案 阴影 渐变 透明层 Quartz 2D 中的数据管理 位图与图像遮罩 CoreGraphics 绘制 Layer 0.说明 本篇博客主要是对官方文档 ...

  8. mac(linux) 上如何安装ant

    1.从http://ant.apache.org/srcdownload.cgi下载ant (用ant src编译后装) 2.解压下载下来的内容到一个文件夹,打开终端先进入到刚才解压后的文件夹如:cd ...

  9. css3 中的transition和transform

    我以前始终都把他搞反,或者是混淆.现在可以稍微小结下. Transition:CSS3中处理动画的一个样式:只涉及动画起始和终止两个状态.如果涉及到一个动画的各个时间或者状态,那就必须要用到的另外一个 ...

  10. 【GOF23设计模式】桥接模式

    来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_桥接模式.多层继承结构.银行日志管理.管理系统消息管理.人力资源的奖金计算  未用桥接模式: package com.te ...