20155316 2016-2017-2 《Java程序设计》第5周学习总结
教材学习内容总结
这周总结
- try catch语法
- 异常继承结构
- throw
- finally
- AutoCloseable接口
- Collection
- Map
- Lambda表达式
上周总结
三个关键
- 类与接口
- extends 【继承】
- implements 【操作】
- 抽象
- abstract 【类头、方法头】
- @Override 【前面一行】
- 获取
- this 【类内】
- super 【父类】
教材学习中的问题和解决过程
-
1.为什么看到这个图就知道ArrayIndexOutOfBoundsException是一种RuntimeException呢?
-
这个图的意思是,Object、Throwable、Exception等都在java.lang包里,上面一行的是下面一行的父类,下面一行是上面一行的子类。由图可知ArrayIndexOutOfBoundsException是一种RuntimeException。
-
2.StringBuffer的capacity是怎么回事?
-
取自API文件
-
Constructs a string buffer with no characters in it and an initial capacity of 16 characters.
-
(默认容量是16)
-
Returns the current capacity.(目前的最大容量)
-
3.缓冲区里存的是什么?
-
缓冲区里存的是“字符串”,如果没有特别处理则取出来的也是以“字符串”的形式存在
-
4.Integer.parseint()怎么解释?
-
将字符串剖析为基本类型
-
5.关于重新定义equals代码怎么理解?
-
资料:教材+博客+百度
代码调试中的问题和解决过程
-
1.关于java.util.Scanner类
-
在编写如下图教材P229的代码时,对这个代码产生了疑惑
-
输入的数不是被
int number = console.nextInt();
中的nextInt所带出缓冲 区了么? -
于是我便写了如下代码测试一下究竟发生了什么
-
第12行捕获的数并没有在运行了第14行后显示出来,需得再一次输入一个值。而在try catch语法中,当输入一个不是整数的数后,catch中便能显示这个数了,这让我想起了以前编写C代码的经验:取不出来便留在缓冲区,这里也是一个道理。
-
【小结】用nextInt()取不出来类似3o的非整数输入,这些非整数输入将留在缓冲区里。
代码托管
上周考试错题总结
- 5.System.out.prinln()会输出“hello”
- 答案:System.out.prinln("HELLO".(toLowerCase()))会输出“hello”
- 我的答案:System.out.prinln(“hello”)会输出“hello”
- 原因:没理解题目意思
- 10.写出编译P165 RPG.java的命令
- 答案:javac -d . *.java
- 我的答案:javac RPG.java
- 23.实现一个类中的equals()方法时,一定要同时实现()方法
- 答案:hashCode()
结对及互评
- 结对:20155308 郝文菲
- 互评:20155308
点评过的同学博客和代码
其他(感悟、思考等,可选)
在学习教材的时候,发现其实自己编一遍代码与对着书编代码还是有很大区别的,自己编一遍的话,会发现很多只对着书编所察觉不到的细节,而这些细节也正是我们全面认识这个代码的关键点所在。
例如以下代码,至少有其中两个点你会发觉:
由这个代码可以得到一个有趣的问题:JAVA程序的一般执行顺序是怎么样的?
如果只是照着书上打的话,就不会发现那些有趣且值得探究的知识点了。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 45/45 | 1/1 | 15/15 | |
第二周 | 288/333 | 2/3 | 21/31 | |
第三周 | 513/846 | 1/4 | 11/42 | |
第四周 | 531/1377 | 1/5 | 12/54 | |
第五周 | 821/2198 | 1/6 | 15/69 |
-
计划学习时间:15小时
-
实际学习时间:15小时
-
改进情况:增强自己的学习积极性