欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

20155330 2016-2017-2 《Java程序设计》第五周学习总结

发布时间:2023/12/2 java 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 20155330 2016-2017-2 《Java程序设计》第五周学习总结 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

20155330 2016-2017-2 《Java程序设计》第五周学习总结

教材学习内容总结

学习目标

  • 理解异常架构
  • 掌握try...catch...finally处理异常的方法
  • 会用throw,throws
  • 理解Collection和Map架构
  • 会用常见的数据结构和算法
  • 了解Lambada和泛型
  • 第八章 章节主要内容

    小结

    • Throwwable定义了取错误信息、堆栈追踪(Stack Trace)等方法,它有两个子类:java.lang.Error与java.lang.Exception。
    • catch括号中列出的异常不得有继承关系,否则会发生编译错误。
    • 如果父类异常对象在子类异常对象前被捕捉,则catch子类异常对象将永远不会被执行。
    • 在catch区块进行完部分错误处理之后,可以使用throw将异常再抛出。
    • 使用throw重抛异常时,异常的追踪堆栈起点,仍是异常的发生根源,而不是重抛异常的地方。
    • JDK7的尝试关闭资源语法可套用的对象,必须操作java.lang.AutoCloseable接口。

    第九章 章节主要内容

    小结

    • Java中判断对象是否重复时,须同时操作调用hashCode()与equals()方法。
    • 如果对象有操作Queue,并打算以队列方式使用,且队列长度受限,应使用offer()、poll()与peak()等方法。
    • 在Java的规范中,跟顺序有关的行为,通常对象本身是Comparable或另行指定Comparator对象告知如何排序。

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

    • 问题1:除了InputMismatchException错误外,Java中常见的错误类型还有哪些?
    • 解决方案:
    • Exception 各种异常的根类

      如果你不知道将发生的异常集体属于哪,而可以肯定种这个地方会出现异常时,可以把异常类型定义为Exception。

    • ArithmeticException 算数运算错误异常

      这个异常是在算数运算时经常遇到的,常见的情况是除数为0时抛出的异常。

    • ArrayIndexOfOutBoundsException 数组下标越界

      编程时要记住Java数组下标是从0开始的,数组下标最大值为数组长度减1,如arr[10],最后一个数组元素是arr[9],如果写成arr[10]就会出现ArrayIndexOfOutBoundsException异常。

    • NullPointException 空指针异常

      这个异常是针对调用未经初始化或未定义的对象抛出的异常。

    • ClassNotFoundException 不能加载所需的类

      在java文件编译后,可能是由于需要把.class文件移到了其他的文件夹,此时引用这个.class文件要注意修改其路径,否则会抛出ClassNotFoundException异常。

    • InputMismatchException 输入的数据类型与所需类型不匹配异常

      比如你需要int类型,但是通过输入框得到的是String类型,就会抛出InputMismatchException异常。

    • IllegalArgumentException 方法接受非法参数

      这个是传入方法中的参数类型不正确,如方法plus(int a,int b),调用时写成a.plus(1,a)就会出现IllegalArgumentException异常。

    • NumberFormatException 字符串转换成数字异常

      在数据类型强制转换时出现的异常,字符串“123”转换成数字123不会出现异常,但是字符串“1@23”转换成int类型就会抛出ClassCastException异常。

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

    • 问题1:课本中的Students代码在编译时出错。
    • 解决方案:经检查和搜索发现是由于System.out.println(set)中的set关键字设置错误,括号中的关键字应为students。
    • 问题2:在编译课本代码SimpleLinkedList时出现无法编译运行的错误
    • 解决方案:结合课本知识以及网上搜索,得出的结论是由于findElemOf函数的返回类型是Object,所以该程序的last节点的调用应该为last.o而非last.elem。

    代码托管

    • 代码提交过程截图:

    • 代码量截图:

    上周考试错题总结

    • 错题1:14. CH06 判断:抽象类的子类可以是抽象类也可以不是。(OK)
    • 理解情况:Java中的抽象类可以含有非抽象方法,继承自抽象类的子类对于父类中所有的非抽象方法,覆盖不覆盖都行,但是所有抽象方法必须要覆盖,如果不覆盖,那么:这个子类必须也是抽象类,被声明为abstract。
    • 错题2:20. CH06 判断:final可以用在类,方法,变量前。(OK)
    • 理解情况:final的用法:
    • 修饰变量,为常量,值不可变;
    • 修饰对象,值可变,引用不变;
    • 修饰方法,方法不可重写;
    • 修饰类,无子类,不可以被继承,更不可能被重写。

    结对及互评

    搭档的博客中提到了一些我在学习过程中没有注意到的问题,解决的方案也让人易懂,值得我借鉴学习。

    评分标准(满分10分)

  • 从0分加到10分为止
  • 正确使用Markdown语法(加1分):
    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  • 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  • 教材学习中的问题和解决过程, 一个问题加1分

  • 代码调试中的问题和解决过程, 一个问题加1分

  • 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  • 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
  • 扣分:
    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
  • 点评模板:

    • 基于评分标准,我给本博客打分:9(0-10)。得分情况如下:
  • 正确使用Markdown语法(加1分);
  • 模板中的要素齐全(加1分);
  • 教材学习中的问题和解决过程, 加1分;
  • 代码调试中的问题和解决过程, 加2分;
  • 本周有效代码超过300分行的(加2分);
  • 其他加分,加2分:
    • 排版精美的加1分;
    • 代码Commit Message规范的加1分。
    • 参考示例

    点评过的同学博客和代码

    • 20155321
    • 20155303
    • 20155217
    • 20155227
    • 20155310

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

    这周的学习任务依然很繁重。经过五周的学习,发现课本中有不少漏洞,特别是示例代码常常会出错,这也考验了我们解决问题的能力。在学习过程中,查询API是个很重要的方法,但是现在还不能熟练的运用,多数时间还是靠直接上网搜索的方式来解决问题。
    另外,从这周开始的结对学习给我的帮助也很大。因为每个人的学习方法不同,所以博客中体现的风格也不一,更重要的是,在学习过程中遇到的问题不同,在阅读他人的博客时,可以发现自己疏漏的问题,并加以学习。

    学习进度条

    代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
    目标5000行18篇300小时
    第一周15/151/115/15
    第二周159/1741/220/35
    第三周414/5881/318/53了解了封装、对象
    第四周461/10491/418/71
    第五周786/18351/518/89
    • 计划学习时间:16小时

    • 实际学习时间:18小时

    参考资料

    • Java学习笔记(第8版)

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

    • Java中常见的异常类型

    转载于:https://www.cnblogs.com/ashin-kl/p/6621363.html

    总结

    以上是生活随笔为你收集整理的20155330 2016-2017-2 《Java程序设计》第五周学习总结的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。