学号 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小时

参考资料

20155215 2016-2017-2 《Java程序设计》第5周学习总结的更多相关文章

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

    20155306 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 Java语言访问数据库的一种规范,是一套API ...

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

    20155236 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 1.JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. c#配置文件的简单操作

    // 配置文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> < ...

  2. Java面向对象知识点

    对象:一切客观存在的事物都是对象 语法部分: 类的概念:1.类是对象的抽象 2.类是客观事物在人脑中的主观反应 3.类是对象的模板 类的设计: 属性:定义位置:类以内,方法以外 实例变量:1 有默认值 ...

  3. c#访问数据库的两种方法以及事务的两种方法

    //2015/07/03 using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...

  4. toupper函数及一些小程序

    toupper 原型:extern int toupper(int c); 用法:#include <ctype.h> 功能:将字符c转换为大写英文字母 说明:如果c为小写英文字母,则返回 ...

  5. GridControl 设置自带选中复选框及设置该列列头名称

    2.设置该列标题,设置事件CustomDrawColumnHeader 效果图:

  6. [bzoj1067][SCOI2007]降雨量——线段树+乱搞

    题目大意 传送门 题解 我国古代有一句俗话. 骗分出奇迹,乱搞最神奇! 这句话在这道题上得到了鲜明的体现. 我的方法就是魔改版线段树,乱搞搞一下,首先借鉴了黄学长的建树方法,直接用一个节点维护年份的区 ...

  7. Material Design学习-----CollapsingToolbarLayout

    博客引用(http://www.open-open.com/lib/view/open1438265746378.html) CollapsingToolbarLayout为我们提供了一个很方便的顶部 ...

  8. i春秋与我

    在i春秋论坛混迹了大半年了,在i春秋的在线平台学到了很多奇技淫巧,特别喜欢这个平台的气氛,以及虚拟在线网络环境的搭建, 忙周偷乐,过来也为i春秋做点小奉献,共同构造我们喜欢的春秋平台,成长特别快,特别 ...

  9. Laravel使用Seeder自动填充数据

    要查看代码,可以点击 或者转到链接:https://github.com/laravel/framework Laravel自动填充数据使用的是Seeder类 <?php use Illumin ...

  10. webpack从0开始---(一)

    换了新环境,同时也有了新目标,从webpack开始. webpack:具体是什么,大家还是自行去看吧,这里就不多做介绍了! 传送门---webpack.github.io 网上的安装方法很多,这里我就 ...