20155228 2016-2017-2 《Java程序设计》第5周学习总结
20155228 2016-2017-2 《Java程序设计》第5周学习总结
教材学习内容总结
异常处理
try-catch语法:JVM执行try区块中的代码,如果发生错误就会跳到catch进行比较,如果错误类型被抛出错误的类型相符就执行catch区块中的代码。
错误会被包装为可抛出的对象,错误对象都是继承自Java.lang.Throwable类,Java.lang.Throwable类有两个子类:java.lang.Error和java.lang.Exception。程序设计本身的错误一般使用Exception或其子类来实现。
如果一个方法声明会抛出Throwable或子类实例,只要不是属于Error、java.lang.RuntimeException或其子类实例,就必须使用try-catch语法或者throws声明这个方法会抛出异常,否则就会编译失败。
在Exception或其子对象中,RuntimeException和其子对象成为执行时期异常或称非受检异常,其他的对象称为受检对象。
父类异常对象的捕捉必须放在子类异常对象捕捉之前,否则父类异常对象永远不会被执行,编译会出错。
多重捕捉的catch中列举的异常不能有继承关系,否则编译会出错。
如果抛出的是受检异常,必须在方法上使用throws声明,如果是抛出非受检异常,就不需要throws声明。
堆栈追踪可以知道异常的根源,可以调用异常对象的printStackTrace()方法得到异常的根源和调用方法的顺序。getStackTrace()方法可以取得个别堆栈追踪元素进行处理。fillInStackTrace()方法可以让堆栈异常的起点为重抛异常的地方。
断言assert:
assert 表达式 //表达式的结果只能是true或者false,如果是false就会编译出错
assert 表达式1:表达式2 //表达式2在表达式1位false时执行
finally:try-catch语法可以和finally搭配,无论try区块中是否有异常都会先执行finally区块中的代码。
自动尝试关闭资源:想要尝试自动关闭资源的对象写在try后面的括号之中。尝试自动关闭资源的对象必须操作Java.lang.AutoCloseable接口。在try括号中,越后撰写的对象资源越早被关闭。
Collection与Map
收集对象的共同行为定义在Collection中,在收集对象会有不同的需求,会依据需求使用不同的接口操作对象。
list:一种以索引方式保留收集对象的顺序的Collection。ArrayList在内存中是连续的线性空间,根据索引随机存取时速度快,适用于排序。LinkedList采用了链接的结构,适用经常变动索引的情况。
Set:收集不重复的内容。hashset的操作概念是,每个内存空间都有一个hash编码,这些空间称为hash桶。如果一个对象要加入hashset,则会调用对象的hashCode()取得hash码,并尝试放入对应号码的hash桶中。如果hash桶中已经有对象了,就会调用equals()进行比较。
Queue:收集的对象加入至尾端,取得对象时从前端。其中offer()方法用来加入对象,poll()方法用来取出对象,peek()方法是取出对象但是保留队列中的对象。
泛型:指定某个类或者方法支持泛型,可以用类型代号代替实际类型。
lambda表达式:lambda表达式的语法可以省略了接口类型与方法名称,->左边是参数列,而右边是方法本体。
Interable和Ierator:使用Interable接口中的Interator方法收集所有对象
Comparable和Comparator:通过操作Comparable接口来使用Collection的sort()方法对对象排序。通过操作Comparator接口来重载sort()方法。
Map:通过操作java.util.Map接口,可以根据某个键来取得对应的值。HashMap不对键排序,TreeMap会对键排序。keySet()收集所有键,vaules()收集所有值,entrySet()收集键和值。
教材学习中的问题和解决过程
- 关于教材P258页第三题。我的理解是,题目中try检查的numberformatexception指检查输入是否符合格式,因为输入的one是字符串,而要求输入的是整型数类型,所以我认为会显示“必须输入数字”。而网上提供的参考答案选择的也是B。但是我在写代码的时候却惊奇地发现,显示结果为arrayindexoutofboundexception,数组超过预定义长度。
- 关于教材P258-P259页第四、五题和第六题的区别:第四题第五题是在一个类中调用了某个定义了抛出异常的方法(构造函数),在定义这个类的异常抛出的时候,可以定义和方法的异常抛出相同的类,也可以定义方法的异常抛出的类的父类。而第六题是继承,子类在定义异常抛出的类时,只能定义父类的异常抛出的类或者其子类。
代码调试中的问题和解决过程
- 本周周内编程作业:关于Student类的对象实例的比较中遇到的问题:先定义好了student类,然后单独新建了一个名为overridequals的类重新定义了equals方法,然后overrideequals继承student类,最后再定义名为mian的类。编译通过证明没有语法问题,但事实上即使两个student实例的所有成员都是一样的,反馈都是不同。后来直接把重新定义eqauls的代码放到student类中就没有任何问题了。
代码托管
- 代码提交过程截图:
- 运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图
- 代码量截图:
- 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图
上周考试错题总结
- “Hello”.charAt(1) 的值是(‘e’)
- System.out.println( “HELLO”.( toLowerCase() ) ) 会输出“hello”..
- “Hello”.substring( 0,2 )的值是“He”
- CH06填空:在构造方法中调用本类的构造方法,要使用(this)关键字
- CH06填空:在构造方法中调用父类的构造方法,要使用(super)关键字
- 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分
点评模板:
基于评分标准,我给本博客打分:(0-10)。得分情况如下:xxx
点评过的同学博客和代码
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 20篇 | 400小时 | |
第一周 | 10/10 | 1/4 | 12/12 | |
第二周 | 120/130 | 1/5 | 9/21 | |
第三周 | 210/340 | 1/6 | 9/30 | |
第四周 | 460/800 | 1/7 | 9/39 | |
第五周 | 400/1200 | 1/8 | 9/48 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:9小时
实际学习时间:9小时
参考资料
20155228 2016-2017-2 《Java程序设计》第5周学习总结的更多相关文章
- 20155334 2016-2017-2 《Java程序设计》第九周学习总结
20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...
- 20155321 2016-2017-2 《Java程序设计》第九周学习总结
20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
随机推荐
- html 标签笔记
<一.HTML 基础结构> <html>________________________________<head><title>无标题文档</t ...
- 4.0-uC/OS-III目录结构
本文章都是基于学习野火STMF4系列的开发板的学习做的,大部分都是开发手册的内容,做笔记用,具体请参考野火官方的开发手册. 1. uC/OS-III 文件结构 ①配置文件,通过定义这些文件里宏的值可以 ...
- linux 查看磁盘读写:iotop
iotop命令用来动态地查看磁盘IO情况,用法如下: 安装iotop命令 [root@mysql ~]# yum install iotop -y [root@mysql ~]# iotop Tota ...
- python json 模块
什么是json? json是返回的是字符串格式,把python数据类型列表.字典转换成json字符串格式, 这种格式java php 其他语言都可以认识的字符串,可以跨语言交流. json,用于字符串 ...
- MongoDB pymongo模块 查询
查询 mongo_db 类似于 服务器命令行的db 我们可以db.user.find() 查询 find() 需要加上列表 import pymongo mongo_client = pymongo. ...
- 001-dubbo基础-001-服务化最佳实践、异常处理逻辑
1.参看地址 http://dubbo.apache.org/zh-cn/ 2.服务化最佳实践 分包 建议将服务接口.服务模型.服务异常等均放在 API 包中,因为服务模型和异常也是 API 的一部分 ...
- vs2005新建项目中没有ASP.NET WEB应用程序
今天正准备使用vs 2005,发现根本打不开老师发过来的源代码Portal_Article.csproj文件,上网查了一下,好多人都说是是因为没有给vs 2005打补丁.我的新建项目里根本没有ASP. ...
- Object类(API文档)
java.lang Class Object java.lang.Object public class Object Class Object is the root of the class hi ...
- 通过wui登陆 sap 页面对数据进行高级 搜索
1: 登陆QGL系统. 在 T-CODE搜索框输入wui 会跳到搜索的web页面,进行搜索. 或者浏览器输入: https://ldciqgl.wdf.sap.corp:44300/sap(bD1lb ...
- js prototype分析