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

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

2017-03-26 22:09 288 查看

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

教材学习内容总结

第八章:

Java中所有错误都会被打包为对象。

设计错误对象都继承自
java.lang.Throwable
类,它有两个子类
java.lang.Error
java.lang.Exception


调用
System.in.read()
时,in是System的静态成员,其类型为
java.io.InputStream


Exception
或其子对象,但非属于
RuntimeException
或其子对象,称为受检异常;属于
RuntimeException
衍生出来的类实例,称为非受检异常。

Java是唯一采用受检异常的语言,目的是:一、文件化;二、提供编译程序信息

尝试关闭资源语法也可以同时关闭两个以上的对象资源,只要中间以
分隔。

第九章

String
split()
方法,可以指定切割字符串的方式,
split()
会返回
String[]
,包括切割的每个字符串,接着将
String[]
中的每个字符串加入
Set
的操作
HashSet
.

HashSet
的操作概念是,在内存中开设空间,每个空间会有个哈希编码,空间成为哈希桶。

Lambda
表达式的语法是省略了接口类型与方法名称,->左边是参数列,右边是方法本体,编译程序可由
Request request
的声明得知语法上被省略的信息。

Lambda
表达式中使用区块时,如果需要返回值,则在区块中需使用return

Map
操作类为
java.util.HashMap
java.util.TreeMap
,其继承自抽象类
java.util.AbstractMap


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

问题1:p235的代码中,出现
ex
,并且多次出现于很多代码中。

解决:,我开始以为是java中的语句,但是在API里面也找不到,直到在蓝墨云上问了老师后,老师给的答复是:ex只是变量名,没有什么特别的。这才得以解决。

问题2:Queue与Deque的区别

解决:

①队列(queue)是一种常用的数据结构,可以将队列看做是一种特殊的线性表,该结构遵循的先进先出原则。Java中,LinkedList实现了Queue接口,因为LinkedList进行插入、删除操作效率较高。

②双向队列(Deque),是Queue的一个子接口,双向队列是指该队列两端的元素既能入队(offer)也能出队(poll),如果将Deque限制为只能从一端入队和出队,则可实现栈的数据结构。对于栈而言,有入栈(push)和出栈(pop),遵循先进后出原则。

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

问题一:p227的代码,在运行时出现了以下错误



解决:

我首先查了API,知道
UnknownFormatConversionException
的意思是未知格式转换异常



于是我检查代码,发现输出时浮点数的精度打错,如下图



小数点
2
调换方向后,程序输出正确



问题:p268的代码,在编译时出现下面的错误



解决:

因为是用set收集student的数据,所以我想尝试将最后的set改为students,





修改代码后的结果如下:



代码托管

代码提交过程及代码量截图截图:



上周考试错题总结

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

解决:p108.使用charAt()指定取得字符串中某个字符,索引从0开始。

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

解决: toLowerCase()的用法是将字符串中的字母从大写转换为小写。

错题:6. 填空:”Hello”.substring( 0,2 )的值是“He”

错题:13. CH06填空:标注(@Override)可以从语法上保证方法的Override.

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

解决:p173.对于父类中的方法权限,只能扩大不能缩小。

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

错题:29. CH07 填空:用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})。

结对及互评

与20155225江智宇同学结对。

点评模板:

基于评分标准,我给本博客打分:(0-10)。得分情况如下:xxx

参考示例

点评过的同学博客和代码

20155225

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

本周学习了java遇到异常时的处理方案和collection与Map,这两章的学习还是有难度的,这个星期很多都还没有摸得特别透彻,接下来会继续看书,继续学习的。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行15篇400小时
第一周9/91/120/20
第二周162/ 1711/225/45学习java的基础语法
第三周380/ 5511/325/70学习java对象及封装
第四周831/ 13821/423/93学习java的继承、接口与多态的运用
第五周870 / 22521/520/113学习java的异常处理和collection与map
计划学习时间:23小时

实际学习时间:22小时

改进情况:

本周学习的内容也较多,但是总体下来感觉上与上周差不多,可能效率稍微稍微提高了点,下周还会继续努力的。

参考资料

Java学习笔记(第8版)

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

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