您的位置:首页 > 编程语言 > Java开发

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

2017-03-26 17:19 537 查看

学号 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分)

从0分加到10分为止

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

不使用Markdown不加分

有语法错误的不加分(链接打不开,表格不对,列表不正确...)

排版混乱的不加分

模板中的要素齐全(加1分)

缺少“教材学习中的问题和解决过程”的不加分

缺少“代码调试中的问题和解决过程”的不加分

代码托管不能打开的不加分

缺少“结对及互评”的不能打开的不加分

缺少“上周考试错题总结”的不能加分

缺少“进度条”的不能加分

缺少“参考资料”的不能加分

教材学习中的问题和解决过程, 一个问题加1分

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

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

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

6 其他加分:

- 周五前发博客的加1分

- 感想,体会不假大空的加1分

- 排版精美的加一分

- 进度条中记录学习时间与改进情况的加1分

- 有动手写新代码的加1分

- 课后选择题有验证的加1分

- 代码Commit Message规范的加1分

- 错题学习深入的加1分

7 扣分:

- 有抄袭的扣至0分

- 代码作弊的扣至0分

点评模板:

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

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

模板中的要素齐全(加1分)

教材学习中的问题和解决过程, 加2分

代码调试中的问题和解决过程, 加2分

本周有效代码超过300分行,加2分

其他加分,加1分 :代码Commit Message规范的加1分

20155232

点评过的同学博客和代码

20155232

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

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

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第二周200/2002/218/24
第三周300/5003/418/24
第四周500/10004/722/24
第五周515/13965/822/24
计划学习时间:24小时

实际学习时间:22小时

参考资料

Java学习笔记(第8版)

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

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

Java实现链表结构
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: