20155218 2006-2007-2 《Java程序设计》第3周学习总结
教材学习内容总结
- ==使用在比较两个参考名称是否参考同一对象;equals()比较实质是否相同。
- 看见new关键词,就是建立对象,这个语法代表了数组就是对象。使用new建立数组后,每个索引元素会有默认值。
- 在java中null代表一个特殊对象,任何类声明的参考名称都可以参考至null。
- 增强式for循环。
- 自动装箱:eg:Integer[] scores ={99,98,32};
- 在java中,字符串是java.lang.String实例,用来打包字符数组。可以用""包括一串字符来建立字符串。
- Scanner scanner = new Scanner (System.in);
- java写下一个英文字符或写下一个汉字字符都是双字节。
- 学习自己查询JAVA API文件。
- 在类中定义方法,如果不用返回值,方法名称前可以声明void,方法若会返回值,必须在方法前声明返回值的类型。
- 使用private封装对象内部数据。封装的目的是隐藏对象细节,将对象当作黑箱进行操作。
教材学习中的问题和解决过程
- 问题1:在学习public权限修饰的时候,意识到package的作用。
- 解决:经过查找资料,总结如下:1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
- 问题2:在构造函数与方法重载的知识点中,看到了“初始流程”的概念。
- 解决:以下是几个小原则,优先级依次递减:
- 静态块优先
- 父类优先
- 成员变量优先
代码调试中的问题和解决过程
- 问题一:
- 问题一解决方案
在打p126页的代码时,第一次是完全按照课本上打的代码,发现缺少构造函数,遂把前面编写的函数复制过来,于是出现了类重复的问题,提示我cashcard在另一个中存在,当我把另一个程序删掉之后,便可以正常编译运行,后来看到public权限修饰的时候,发现可能两个程序放在了同一个包里,发生了冲突。
- 问题二:
上面问题为,不显示总和直接跳过。
-解决:问题出现在printf与println的使用上,并且同时使用了‘ ,’,和‘+’。正确的使用方法为:```
System.out.println("你的名字:"+name);
## [代码托管](http://git.oschina.net/bestiisjava2017/xuzhihan20155218)
- 代码提交过程截图:
![](http://images2015.cnblogs.com/blog/1071493/201703/1071493-20170312193332904-161302981.png)
![](http://images2015.cnblogs.com/blog/1071493/201703/1071493-20170312193348217-1513352257.png)
- 代码量截图:
![](http://images2015.cnblogs.com/blog/1071493/201703/1071493-20170312193401998-1557258509.png)
## 上周考试错题总结
1. 填空:Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . –name *.java -ctime 2)。解析:因为是要查找java文件,所以要加*.java
2. CH03 填空:~0b1011的十进制值是(-12)解析:先取反为11110100,然后符号位不变各位取反后加一为:10001100=-12。
3. CH03 填空 :0x10%9 的结果是( 7 )解析:0x为16进制,0x10为16 ,16%9=7;
4. CH03 判断:Java中,非零数字等价于true.(X)
## 其他(感悟、思考等,可选)
代码越往后打,越来越发现基础知识的重要性,比如一个package,应该在第二章掌握的知识点,拖到了现在。只有基础知识熟练掌握,才能更好的理解课本内容,并能解决一部分的问题。
## 学习进度条
| | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|
| -------- | :----------------:|:----------------:|:---------------: |:-----:|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 15/15 | 1/4 | 12/12 | |
| 第二周 | 140/155 | 2/5 | 18/30 | |
| 第三周 | 677/817 | 3/ 6 | 20/50 | |
- 计划学习时间:18小时
- 实际学习时间:20小时
## 参考资料
- [Java学习笔记(第8版)](http://book.douban.com/subject/26371167/)
- [《Java学习笔记(第8版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- [《java包菜鸟教程》](http://www.runoob.com/java/java-package.html)
- [java的初始化流程](http://www.cnblogs.com/octobershiner/archive/2012/03/12/2391899.html)