20155317 王新玮 2016-2017-2 《Java程序设计》第5周学习总结

20155317 王新玮 2016-2017-2 《Java程序设计》第5周学习总结

教材学习内容总结

异常处理 & Collection与Map 异常继承架构

  • 错误的对象继承java.lang.Throwable类,Throwable有两个子类Java.lang.Error与java.lang.Exceptions.
  1. a.Erroe与其子类实例表示严重系统错误。
  2. b.Exception与其子类实例是异常处理。
  • 必须明确使用try,catch语法加以处理,或者用throw声明这个方法会抛出异常,否则会编译失败。
  • 受检异常:一定要处理Exception,但不属于RuntimeException.
  • 非受检异常:程序不强迫处理。RuntimeException是客户端引发的,属于客户端有关修改的内容,如果一定要处理,建议是呈现友好信息。
  1. 注:如果父类异常对象在子类异常对象前被捕捉,则catch子类异常对象区块将永远不会被执行。故先捕捉子类。

try、catch语法

  • 在使用相关程序时会有许多错误,例如下列代码 这里尝试使用try、catch语法,发现JVM会尝试执行try区块中的程序代码,如果发生错误,就会跳离错误发生点比较catch括号中声明的类型,若符合被抛出错误对象类型。 try、catch语法可以捕捉try部分的异常:
  • 无try、catch语法时,出现异常的时候程序就会报错。
  • 使用try、catch语法时,出现异常时,程序可仍以正常运行,只是把错误信息存储到Exception里。
  • 即catch功能为提取异常信息。

throw & throws

  • 方法设计流程出现异常时,可以用throws FileNotFoundException抛出异常,通过调用方法的客户端来处理。

Collection和Map架构

Collection

  • java.util.List接口中,记录每个对象的索引顺序,依照索引取回对象。
  • java.util.Set接口中,收集对象不重复,并具有集合的行为。
  • java.util.Queue接口中,收集对象时以队列方式,收集的对象加入尾端,取得对象时从前端。
  • java.util.Deque接口中,对Queue 的两端进行加入、移除等操作。

Map

  • 即是以键值对形式的存放数据的容器,主要以哈希Map作为其常用的实现类。Lambada和泛型

Lambada

  • 该表达式主要功能为:简化匿名函数的写法,减轻程序员负担。

泛型

  • 使用Collection收集对象时,由于收集对象的形态未知,因此内部操作时,都是使用object来参考被收集的对象,取回对象时也是以object类型返回。
  • 故若想针对某类定义的行为操作,必须告诉编译程序,让对象重新扮演该类型。JDK5之后增加了泛型语法。若接口支持泛型,在操作时也会比较方便,只要声明参考时有指定类型,那么创建对象时就不用再写类型了。
  • 泛型也可以仅定义在方法上,最常见的是在静态方法上定义泛型。

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

  • 学习8.1.1时,看到try、catch捕捉错误的案例,书中只捕捉了一个错误,如果有多个错误该如何捕捉?
  • 解决:学习到8.1.2时看到书中片段
    try{
    事情...
    }catch(IOException | InterruptedException | ClassCastException e) {
    e.printStackTrace();
     }

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

  • public Test() throws RepletException {
        try {
          System.out.println("Test this Project!")
        }
        catch (Exception e) {
          throw new Exception(e.toString());
        }
      }
  • 问题:throw和throws的区别有什么啊?这里改成throw可以吗?
  • 经过上网搜查后我发现:
  • throws是用来声明一个方法可能抛出的所有异常信息,而throw则是指抛出的一个具体的异常类型。通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法。throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出。

代码托管

上周考试错题总结

  • 错题1及原因,理解情况
  • 错题2及原因,理解情况
  • ...

点评过的同学博客和代码

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

这周又接触到了没接触过的新知识、新概念。不过凡事都讲究个基本功,感觉要是前面这些的基础知识学的不透彻不理解,后面就更别说了,肯定越来越难,好好学!

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时  
第一周 200/200 2/2 20/20  
第二周 300/500 2/4 18/38  
第三周 500/1000 3/7 22/60  
第四周 300/1300 2/9 30/90  
第五周 486/1300 2/9 30/90

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:XX小时
  • 实际学习时间:XX小时
  • 改进情况:

(有空多看看现代软件工程 课件 软件工程师能力自我评价表)

参考资料

时间: 2024-10-12 19:28:14

20155317 王新玮 2016-2017-2 《Java程序设计》第5周学习总结的相关文章

20155317王新玮 2006-2007-2 《Java程序设计》第3学习总结

20155317王新玮 2006-2007-2 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 chothes(String coler,char size)的含义是对color和size这两个对象进行初始化,这样初始化可以采用一种规范的格式对这两个对象进行赋值等操作. new的含义,根据课本和自己的理解,我觉得new的意义是在于给某个对象加个新的值或者说有个新的例子. 3.对java.util.Scanner的理解:java.util是java的一类工具包,与后面看到的java

C语言与java 20155317 王新玮第二次

20155317 王新玮第二次写作感想 你有什么技能比大多数人(超过90%以上)更好? 刚刚看到这个题目,我的首先想到的是会一些中医,懂得中医的理论框架知识,懂得大部分的中医脉象,能够解决日常生活感冒和不适,懂得养生. 针对这个技能的获取你有什么成功的经验 这个技能首先让我觉得,拥有它必须有坚持不懈,遇到困难不退缩的精神品格.回想学习它的时候,好多抽象的.很有深度的哲学思想需要去接受,很多时候,想要明白那些理论思想,必须去时时刻刻都在思考.其次,我们必须掌握正确的方法,走正确的路,中医的学习不能

20145326蔡馨熠《Java程序设计》第一周学习总结

20145326蔡馨熠 <Java程序设计>第一周学习总结 教材学习内容总结 转眼间新的一学期终于开始了!为什么我这么期待呢?因为这学期可以上娄嘉鹏老师的java程序设计课,我不是什么电脑天才,之前c语言学得也不是特别好.可我就是对hdl和java特别感兴趣(之前在我的问卷调查报告里面提到过),并且寒假的时候在家里也预习了一部分java知识.第一周要求学习两个章节并作心得体会,虽然我早已看过前两章的知识,不过为了进一步巩固,我还是用了星期六一天的时间把第一章和第二章的知识从头到尾仔仔细细的看了

20165305 苏振龙《Java程序设计》第一周学习总结

20165305 <Java程序设计>第一周学习总结 教材学习内容总结 我重点学习了jdk安装后面的第一章内容,算是更进一步的的了解了一些Java方面的基础知识. Java平台概论 Java SE(Java 2 Platform Standard Edition标准版) Java EE(Java 2 Platform Enterprise Edition企业版) Java ME(Java 2 Platform Micro Edition微型版) Java SE的四个组成部分 JVM:Java虚

20155336 2016-2017-2《JAVA程序设计》第二周学习总结

20155336 2016-2017-2 <JAVA 程序设计>第二周学习总结 教材学习内容 1: GIT版本检测 2: JAVA中基本类型 整数 字节 浮点数 字符 布尔(▲) 通过API可以得知各个类型可存储的数值范围 public class Range {public static void main(String[] args){ //byte.short.int.long的范围 System.out.printf("%d~%d%n", Byte.MIN_VALU

20145201 《Java程序设计》第一周学习总结

# 20145201 <Java程序设计>第一周学习总结 ## 教材学习内容总结 万事开头难,终于开始学习了Java.寒假的时候看到老师的要求确实有点慌,但是这周翻开书,从书本知识第一行学起,发现并不是自己想想中那么难,只要一步一个脚印,每周有自己的计划,并按照计划按部就班的完成,最后一定会拥有自己的小成果的. 1.1Java不只是语言 Java经过多年的版本更新后,最新的版本是Java SE8. 在java发展的过程中,它的应用领域越来越广,根据不同级别的应用开发区分了不同的应用版本,最终j

20145224-陈颢文 《Java程序设计》第一周学习总结

20145224 <Java程序设计>第一周学习总结 教材学习内容总结 通过第一周的学习让我对Java有了个初步的了解,知道了Java分为Java SE.Java EE.Java ME三大平台,其中Java SE是基础.Java的一大特点是它可以跨平台,而JVM对Java的跨平台提供了支持,它就类似于一个虚拟机,只要在当前平台安装了相应的JVM,Java程序就有了可以在此平台上运行的基础啦.JRE是Java的执行环境,在安装了JRE的计算机上就可以运行Java的程序了,当然光是可以跑代码对于程

20155335 俞昆 2016-2017-2 《Java程序设计》第九周学习总结

学号 2016-2017-2 <Java程序设计>第九周学习总结 ##JDBC入门 在正式介绍JDBC前,已知JDBC是用来执行SQL的解决方案,开发人员使用JDBC的标准接口,开发人员不需接触底层数据库驱动程序的差异性. 本章,我们需要了解JDBC与API使用和概念,我们先要认识应用程序如何与数据库进行沟通,数据库本身是一种独立运行的应用程旭,程序员撰写的应用程序是利用通信协议对数据库进行指令交换,以进行数据的增加删除以及查找. 通常应用程序会利用一组专门与数据库进行通信协议的链接库,以简化

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

20145326<Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,java是个支持面向对象的程序语言,但在正式进入面向对象支持语法的探讨前,对于类型.变量.运算符.流程控制等,这些各种程序语言都会有的基本语法元素,还是要有一定的基础.虽然各种程序语言都有这些基本语法元素,但千万别因此而轻忽它们,因为各种程序语言都有其诞生的宗旨与演化过程,对这些基本语法元素,也就会有其独有的特性. 1. 类型 在java的世界中,并非每个东西都