zoukankan      html  css  js  c++  java
  • 20155215 2016-2017-2 《Java程序设计》第5周学习总结

    学号 2006-2007-2 《Java程序设计》第5周学习总结

    教材学习内容总结

    第八章

    • 尝试捕捉错误对象,try,catch。
    • 如何抛出错误对象,throw语法。
    • error代表系统错误,exception表示程序本身设计错误。
    • 如果某个方法声明会抛出Throwable 或子类实例,只要不是属于Error、java.lang.RuntimeException或其子类实例,你就必须明确使用try、catch语法加以处理,或者用throws声明这个方法会抛出异常,否则会编译失败。
    • 规则表示式:“d*”,表示检查字符串中的字符是不是数字。
    • 如果父类异常对象在子类异常对象之前被捕捉,则catch子类异常的区块永远不会被执行。
    • 多重捕捉语法
    • 堆栈追踪,了解异常发生的根源。

    第九章

    • Java.util.List:记录对象索引位置,并可依索引取回对象。
    • java.util.Queue:收集对象时以队列方式。
    • list是一种collection,作用是收集对象,并以索引方式保留收集对象顺序。
    • Arraylist,数组在内存中会是连续的线性空间,根据索引存取时速度快。但如果需要调整索引顺序时会有较差表现。
    • 链接结构,list。
    • 使用node封装新增对象。
    • 泛型语法,generics.
    • Lamade表达式,它的语法省略了接口类型和方法名称。 ->左边是参数列,右边是方法本体。

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

    第六章

    • 1问题:受检异常和非受检异常的区别是什么?
    • 1回答: RuntimeException和它的子类以及Error和 它的子类都是非受检异常。
      因此,对于一个方法抛出RuntimeException和它的子类或者Error和它的子类。调用它无需进行异常处理,编译器能通过。
      除此之外的其它异常类都需要进行异常处理,即添加try-catch(-finally)语句块进行捕捉和处理。

    参考非受检异常(运行时异常)和受检异常的区别等

    第七章

    • 问题:链接结构是怎样的?
    • 回答:LinkList内部以一个List实现链表,比较适合需要频繁对链表进行操作的情况,对链表节点的访问时间与链表长度有关O(N)。我还在网上查到了这个。list是一种collection,作用是收集对象,并以索引方式保留收集对象顺序。除了课本上的内容,我还查到了这个:

    Java实现链表结构

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

    • 1问题:我的代码如下:

    结果一直在报错,如下:

    • 1解决方案:
      刚开始我以为是我没有那个安装包,或者安装包配置有问题,所以在网上找了很多资料,比如下面这些:

    结果后来才发现,根本就是我打错了,util打成了utll。修改之后编译就正确了。

    • 2问题:第七章我在打students.java的代码时,我的代码如下:

      然后我修改了好几次还是报错,情况如下:

    • 2解决方案:
      报错有两个,一个是方法声明无效,需要返回值类型;另一个则是说我缺少标识符
      1.构造方法的方法名跟类名一样,构造方法是没有返回值的。你这个类类名叫Student,所以,名为Student的方法应该为构造方法,而且是不能有返回值。
      “什么叫不能有返回值”,就是说没有返回值,甚至连void也不是。
      2.缺少标识符则是因为编写时出现了一些诸如“就是在写完class后直接写了应该写在main函数里的代码”之类的问题。解决方法就是在写入其它代码之间,别忘了加入 public static void main(String[] args){}。

    代码托管

    • 代码提交过程截图:

    • 代码量截图:

    上周考试错题总结

    • 4.填空:”Hello”.charAt(1) 的值是(‘e’)

    charAt(int index)方法是一个能够用来检索特定索引下的字符的String实例的方法.charAt()方法返回指定索引位置的char值。索引范围为0~length()-1.如: str.charAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符.

    • 5.填空:System.out.println( “HELLO”.( toLowerCase() ) ) 会输出“hello”.

    toLowerCase() 方法用于把字符串转换为小写。
    语法:stringObject.toLowerCase()
    返回值:一个新的字符串,在其中 stringObject 的所有大写字符全部被转换为了小写字符。

    • 12.CH06判断:父类中有个public void fight(),子类中有个public void fight( Weapon w),这两个方法的关系是Override.(X)
      概念不熟悉

    • 15.CH06 判断:被声明为protected的方法,只能中继承后的子类中访问。(X)

    参考这个图可知除被本类或者派生类(子类)的成员函数访问外,还可以被本包内所有类访问

    • 16.CH06 判断:父类的protected方法,在子类中可以override为public的方法。(OK)

    方法的重写必须满足以下要求(从方法的五要素来分析):

    • 要有继承;

    • 方法名,参数列表要相同;

    • 访问修饰符不能比父类窄;
      也就是说,父类的public方法在重写时,访问修饰符必须是public,因为public的范围最大,否则就不构成方法的重写,例如:对于父类protected的方法,在重写时可以用protected或public来修饰。

    • 18.CH06填空:在构造方法中调用本类的构造方法,要使用(this)关键字

    概念不熟悉

    • 19.CH06填空:在构造方法中调用父类的构造方法,要使用(super)关键字

    概念不熟悉。需加强课本的研读

    • 22.CH06 判断:Java中所有的对象都有equals方法。(OK)

    • 23.CH06填空:实现一个类中的equals()方法时,一定要同时实现(hashCode())方法

    hashCode是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值 详细了解请 参考 public int hashCode()返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。

    • 30.CH07 填空:面向对象中,设计经验可以用(设计模式)表达。

    结对及互评

    评分标准(满分10分)

    1. 从0分加到10分为止

    2. 正确使用Markdown语法(加1分):

      • 不使用Markdown不加分
      • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
      • 排版混乱的不加分
    3. 模板中的要素齐全(加1分)

      • 缺少“教材学习中的问题和解决过程”的不加分
      • 缺少“代码调试中的问题和解决过程”的不加分
      • 代码托管不能打开的不加分
      • 缺少“结对及互评”的不能打开的不加分
      • 缺少“上周考试错题总结”的不能加分
      • 缺少“进度条”的不能加分
      • 缺少“参考资料”的不能加分
    4. 教材学习中的问题和解决过程, 一个问题加1分

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

    6. 本周有效代码超过300分行的(加2分)

      • 一周提交次数少于20次的不加分

    6 其他加分:
    - 周五前发博客的加1分
    - 感想,体会不假大空的加1分
    - 排版精美的加一分
    - 进度条中记录学习时间与改进情况的加1分
    - 有动手写新代码的加1分
    - 课后选择题有验证的加1分
    - 代码Commit Message规范的加1分
    - 错题学习深入的加1分
    7 扣分:
    - 有抄袭的扣至0分
    - 代码作弊的扣至0分

    点评模板:

    基于评分标准,我给本博客打分:9 。得分情况如下:

    1. 正确使用Markdown语法(加1分):
    2. 模板中的要素齐全(加1分)
    3. 教材学习中的问题和解决过程, 加2分
    4. 代码调试中的问题和解决过程, 加2分
    5. 本周有效代码超过300分行,加2分
    6. 其他加分,加1分 :代码Commit Message规范的加1分

    点评过的同学博客和代码

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

    我觉得这周我好像又没有了之前那种感觉已经适应了的状态,反而开始觉得课本上的内容难度增加了, 翻看了一下前面的内容,发现我遗漏和遗忘了很多东西,感觉自己应该加强复习,仔细研读课本,同时自己编写一些新的代码,可能效果会更好。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第二周 200/200 2/2 18/24
    第三周 300/500 3/4 18/24
    第四周 500/1000 4/7 22/24
    第五周 515/1396 5/8 22/24
    • 计划学习时间:24小时

    • 实际学习时间:22小时

    参考资料

  • 相关阅读:
    dos命令连接mysql并且查看编码方式
    node.js 好博客
    node.js 连接数据库
    express的基本配置项
    express 手册
    VPS巴士
    nodejs书籍
    nodejs connect模块
    网站工具,如天气,手机归属地
    NodeJS的异步编程风格
  • 原文地址:https://www.cnblogs.com/xuanyan/p/6623383.html
Copyright © 2011-2022 走看看