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

教材学习内容总结

  • 流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而言的

  • InputStream与OutputStream

    • read
    • write
    • 二进制文件
  • 标准输入输出

    • System.in: 标准输入,默认关联到键盘(终端输入)
    • System.out: 标准输出,默认关联到显示器(终端输出)
    • System.err: 标准错误,默认关联到显示器(终端输出)
    • 输入输出重定向:setIn,setOut,setErr
  • FileInputStream与FileOutPutStream

    • 文件读写
  • 装饰器类

    • Decorator模式
    • BufferedInputStream与BufferedOutputStream: 内部提供缓冲,提高效率
    • DataInputStream与DataOutputStream:基本数据类型与字节的转换,API好好研究一下
    • ObjectInputStream与ObjectOutputStream

      java.io.Serializable接口
  • Reader与Writer

    • 文本文件
    • read
    • write
  • 字符处理装饰器

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

  • 问题1:课本P306,args[0]、args[1]分别代表什么?
  • 问题1解决方案:Java的主方法为public static void main(String[] args),arg[0]表示命令行输入时传的第一个参数,args[1]同理。
  • ...

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

  • 问题1:课本P293,LoadProperties编译出错

  • 问题1解决方案:可能是因为没有.properties文档。
  • ...

代码托管

git push失败

上周考试错题总结

  • 错题1

现有:

 1. class Flow {
2. public static void main(String [] args) t
3. try { 4 . System. out .print ("before") ; 5 . doRiskyThing ( ) ; 6. System.out.print ("after ") ; 7. } catch (Exception fe) { 8. System.out.print ("catch") ; 9. } 10 . System. out .println ( " done") ; 11. } 12. public static void doRiskyThing() throws Exception{ 13.
}}

可能会产生哪两项结果 ?(选两项)

A .before catch

B . before after done

C . before catch done

D . before after catch

正确答案: B C

解析:

doRiskyThing中有throw C,否则B

  • 错题2

下列哪些项是泛型的优点? (选两项)

A . 不用向下强制类型转换

B . 代码容易编写

C . 类型安全

D . 运行速度快

正确答案: A C

  • 错题3

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,这不允许 (异常子类可抛式)。

  • 错题4

What is the output of the following code?:

class EJava {
void method() {
try {
guru();
return;
} finally {
System.out.println("finally 1");
}
}
void guru() {
System.out.println("guru");
throw new StackOverflowError();
}
public static void main(String args[]) {
EJava var = new EJava();
var.method();
}
}

A . guru

finally 1

B . guru

finally 1

Exception in thread "main" java.lang.StackOverflowError

C . guru

Exception inthread"main"java.lang.StackOverflowError

D . guru

E . The code fails to compile.

正确答案: B

结对及互评

评分标准

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

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)

    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

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

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

    • 一周提交次数少于20次的不加分
  6. 其他加分:

    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:

    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

点评模板:

  • 博客中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:

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

  • 参考示例

点评过的同学博客和代码

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

因为周六满课,所以学习时间明显减少,这也暴露了自己主要在周六周日学习Java这一问题,以后需要注意把学习任务分配到每一天,做到有计划且高效地学习。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 12/12 1/4 20/20
第二周 64/76 1/5 22/42
第三周 560/636 1/6 22/64
第四周 532/1168 1/7 20/84
第五周 510/1728 1/8 20/104
第六周 697/2425 1/9 15/119

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难,软件工程 估计方法

  • 计划学习时间:25小时

  • 实际学习时间:15小时

  • 改进情况:学习时间明显减少,学习效率有所提高,但还未赶上进度。

(有空多看看现代软件工程 课件

软件工程师能力自我评价表
)

参考资料

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

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

    20155333 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC(Java DataBase Connectivity) 驱动的四种类型 JDBC- ...

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

    20155333 2016-2017-2<Java程序设计>第二周学习总结 教材学习内容总结 1. Java 类型系统:基本类型和类类型(参考类型) 2. 基本类型: 整数:short整数 ...

  3. 20155333 2016-2017-2 《Java程序设计》第一周学习总结

    <java程序设计>第一周学习总结 学习目标 •了解java基础知识 •了解JVM.JRE与JDK,并下载.安装.测试JDK •了解PATH.CLASSPATH.SOURCEPATH的作用 ...

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

    20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...

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

    20155201 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC全名JavaDataBaseConnecticity,是Jav ...

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

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

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

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

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  9. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  10. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

随机推荐

  1. OneZero——Review会议(2013.5.20)

    1. 时间: 2016年5月20日. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http://www.cnb ...

  2. BZOJ3881[Coci2015]Divljak——AC自动机+树状数组+LCA+dfs序+树链的并

    题目描述 Alice有n个字符串S_1,S_2...S_n,Bob有一个字符串集合T,一开始集合是空的. 接下来会发生q个操作,操作有两种形式: “1 P”,Bob往自己的集合里添加了一个字符串P. ...

  3. Cookie 类

    最近项目中用到cookie,所以就写了个cookie帮助类 public class CookHelper { HttpResponseBase Response = null; HttpReques ...

  4. python3实现感知器,简单神经网络

    三个输入,四个输出,四组数据 对numpy和矩阵运算还不是太熟悉,可能写的复杂了点,矩阵数组来回转换 代码请查看码云 运行结果片段

  5. SpringCloud基础篇AOP之拦截优先级详解

    前面两篇分别介绍了AOP的基本使用姿势和一些高级特性,当时还遗留了一个问题没有说明,即不同的advice,拦截同一个目标方法时,优先级是怎样的,本篇博文将进行详细分析 同一个切面中,不同类型的advi ...

  6. 自学Linux Shell18.2-sed编辑器高级特性

    点击返回 自学Linux命令行与Shell脚本之路 18.2-sed编辑器高级特性 linux世界中最广泛使用的两个命令行编辑器: sed gawk 1. sed小结 命令格式: 1 sed [opt ...

  7. luogu1514 [NOIp2010]引水入城 (bfs+记忆化搜索)

    我们先bfs一下看看是否能到最底下的所有点 如果不能的话,直接把不能到的那几个数一数就行了 如果能的话: 可以发现(并不可以)某格能到达的最底下的格子一定是一个连续的区间 (因为如果不连续的话,我们先 ...

  8. 【bzoj3438】 小M的作物

    http://www.lydsy.com/JudgeOnline/problem.php?id=3438 (题目链接) 题意 $n$种作物,每种可以种在A田也可以种在B田,两种种植方法有不同的收益.$ ...

  9. java 反射 子类泛型的class

    很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解.关键的地方是HibernateBaseDao的构造方法中的 Type genType = getClass() ...

  10. SQL Server 查

    注:where语句是条件,后面加and或者or 时间日期:比时间需要时间加引号 模糊查询:where语句后面加like  '%包含此关键字%'或者'以此关键字开头%'或者'%结尾' 排序查询:列名 o ...