20155325 2016-2017-2 《Java程序设计》第6周学习总结
教材学习内容总结
- 分类
- 输入流&输出流
- 字节流&字符流
- 节点流&处理流
- 核心方法
- Input Stream
int read(byte[]b,int off,int len)
2.Output Stream
void write(byte[]b,int off,int len)
| 内容名称 | 作用 |
|---|---|
| byte[]b | 放入读取的字节 |
| int off | 偏移量-把字节从b的第off位开始放入 |
| int len | 读一次最多多少数据 |
| 返回值 | 字节数 |
- BufferReader
public String readLine()
throws IOException
调用一行数据,这一行数据作为字符串返回
在windows下“\r\n”,Linux下"\n"视为结束一行
生成Buffer Reader对象的方法
BufferReader in = new BufferReader(newFileReadear("foo.in"));
- 线程能否运行关键在于能否抢到CPU。
教材学习中的问题和解决过程
问题1:Decorator模式是什么
问题1解决方案:
查到的资料如下:
decorator 英 [ˈdekəreɪtə(r)] 美 [ˈdɛkəˌretɚ] n. 室内装饰师,油漆匠 adj. 适于室内装饰的动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。——包装器Wrapper。
参考资料:Decorator模式——设计模式学习笔记
代码调试中的问题和解决过程
问题1:日常红下划波浪线

问题1解决方案:顺手IDEA快捷psvm+tab键,忘了输入throws IOException。但是依旧无法解决IO为红色的状况。


最终解决是将之前的类名修改。忘了最开始将书上的代码使用“IO”而自己打的时候写的是“StreamIO"故失败。将原程序改回IO就好。
代码托管

上周考试错题总结
- 错题1及原因,理解情况
Which of the following methods will not compile? :
A . private void method1(String name) {
if (name.equals("star"))
throw new IllegalArgumentException(name);
}
B . private void method2(int age) {
if (age > 30)
throw Exception();
}
C . public double method5() throws Exception {
return 0.7;
}
D . protected double method4() throws Exception {
throw new Throwable();
}
正确答案: B D
解析:
成功编译的方法,正确不是可能实现的。
这个问题只有询问将因此遵循的语法规则的方法,他们成功编译。
(A) 代码选项编译成功。因为则抛出运行时异常,method1()可以把它扔而无需声明它扔进其抛出声明。
(B) 选项代码无法编译。method2() 抛出检查的异常,那就是,而无需声明它在其抛出声明中引发的异常。虽然中选项的代码。A
方法可以不包括在其方法声明的 throws 子句中引发过程 (未经检查的异常)。
(C) 选项代码将成功编译。如果一个方法将声明抛出异常,它可能不实际抛出它。这只适用于例外 (因为运行时 Exception 子类它),运行时异常和错误
(D) 选项代码无法编译。如果一个方法将声明要抛出检查的异常,它的身体不能在它的身体扔一个更一般的异常。method4() 声明为抛出异常,但抛出 Throwable,这不允许 (异常子类可抛式)。
- 错题2及原因,理解情况
现有:
class Number{
public static void main(String [] args) {
try {
System.out.print (Integer.parselnt ("forty"));
} catch (RuntimeException r) {
System.out.print ("runtime");
} catch (NumberFormatException e) {
System.out.print("number");
}
}
}
结果是什么?
A .
number
B .
runtime
C .
forty number
D .
编译失败
正确答案:D
解析:先catch子类,后catch父类。
- 错题3及原因,理解情况
现有:
class Flow {
public static void main(String [] args) t
try {
System. out .print ("before") ;
doRiskyThing ( ) ;
System.out.print ("after ") ;
} catch (Exception fe) {
System.out.print ("catch") ;
}
System. out .println ( " done") ;
}
public static void doRiskyThing() throws Exception{
}}
可能会产生哪两项结果 ?(选两项)
A .
before catch
B .
before after done
C .
before catch done
D .
before after catch
正确答案:BC
解析:doRiskyThing中有throw C,否则B
结对及互评
评分标准
正确使用Markdown语法(加1分):
模板中的要素齐全(加1分)
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
本周有效代码超过300分行的(加2分)
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评过的同学博客和代码
- 本周结对学习情况
- 20155328
- 结对照片


( 上网多年,截止到现在我自己主动发到网上的自拍数量应该是不超过一只手的)
- 结对学习内容
- 一起自习学习Java
其他
视频学习实在是学习的一大助力。回想起之前好几个用传统教学方式的老师反复强调的“上课认真听,下课很轻松。”此番真是深深体会到了。希望能有之前几章的视频内容推荐,之前的章节学得很不扎实……沮丧脸。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 16篇 | 400小时 | |
| 第一周 | 9/9 | 1/1 | 19/19 | 熟练下载安装技能,锻炼解决问题能力 |
| 第二周 | 185/194 | 1/2 | 16/35 | 下载并熟悉IDEA,练习使用码云、git的技能。 |
| 第三周 | 488/535 | 1/3 | 18/53 | 花了更少时间磨合软件,学习更顺利 |
| 第四周 | 366/901 | 2/5 | 18/71 | 继承、多态、行为 |
| 第五周 | 611/1512 | 1/6 | 14/67 | 异常处理、Collection与Map |
| 第六周 | 337/1849 | 1/7 | 16/73 | 输入与输出、线程与并行API |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:20小时
实际学习时间:16小时
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
20155325 2016-2017-2 《Java程序设计》第6周学习总结的更多相关文章
- 20155326 2016-2017-2 《Java程序设计》第九周学习总结
20155326 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 1.撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找. 2.JDBC目的 ...
- 20155328 2016-2017-2 《Java程序设计》第九周学习总结
20155328 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 16.1 JDBC入门 JDBC是Java联机数据库的标准规范,定义一组标准类与接口,应用程 ...
- 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学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
随机推荐
- 蜗牛慢慢爬 LeetCode 5.Longest Palindromic Substring [Difficulty: Medium]
题目 Given a string s, find the longest palindromic substring in s. You may assume that the maximum le ...
- 【第十周】final预发布视频
final版本发布视频组名: 新蜂组长: 武志远组员: 宫成荣 谢孝淼 杨柳 李峤项目名称:java俄罗斯方块NEO平台:优酷地址:http://v.youku.com/v_show/id_XMTg0 ...
- 看懂Qt源代码-Qt源码的对象数据存储
第一次看Qt源代码的人都会被其代码所迷惑,经常会看到代码中的d_ptr成员.d_func(函数)和Q_DECLARE_PRIVATE等奇怪的宏,总是让人一头雾水,下面这篇文章转自http://www. ...
- IDEA 开发工具的快捷键
IDEA 开发工具的快捷键 原文链接:http://blog.csdn.net/wfp458113181wfp/article/details/24579781 1.文本编辑 删除 ctr + ...
- 文件同步工具 lsyncd2.1.6 安装使用问题
项目有文件实时同步备份的需求,做了一下调查,比较好的解决方法是使用lsyncd工具.这里主要记录一下遇到的问题及解决方法. lsyncd 的相关介绍和对比可见: lsyncd实时同步搭建指南——取代r ...
- Be the Winner HDU - 2509(反博弈。。这样叫应该没错吧。。)
就是 好几堆苹果 每堆苹果排成一条线 可以任意从每堆拿苹果 如果一堆苹果里拿了之后 则有两种情况 1.从不是边缘拿 拿完这一堆变成两堆 2.从边缘拿 拿完还是一堆 题目还要求 谁 ...
- 【刷题】洛谷 P3834 【模板】可持久化线段树 1(主席树)
题目背景 这是个非常经典的主席树入门题--静态区间第K小 数据已经过加强,请使用主席树.同时请注意常数优化 题目描述 如题,给定N个正整数构成的序列,将对于指定的闭区间查询其区间内的第K小值. 输入输 ...
- 【树论 2】Kruskal 的学习和使用
Tips:本题解是[随便搞搞 1]Prim算法的学习和使用 的姊妹篇,希望先阅读Prim算法. 预习及预备知识: 克鲁斯卡尔(Kruskal)算法是实现图的最小生成树最常用的算法. 大家知道,存储图的 ...
- 远程桌面(RDP)上的渗透测试技巧和防御
0x00 前言 在本文中,我们将讨论四种情况下的远程桌面渗透测试技巧方法.通过这种攻击方式,我们试图获取攻击者如何在不同情况下攻击目标系统,以及管理员在激活RDP服务时来抵御攻击时应采取哪些主要的 ...
- Linux下vim 快捷键
vim按d表示剪切 按dd剪切一行 vim命令:命令模式 /关键字 n继续向下查找vim的多行注释: 1.按ctrl + v进入 visual block模式 2.按上下选中要注释的行 3.按大写字母 ...