20145331 《Java程序设计》第3周学习总结
教材学习内容总结
第四章 认识对象
•对象(Object):存在的具体实体,具有明确的状态和行为
•类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制
•类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例。我觉得在视频中对类与对象关系的描述更加形象,它说类是对现实生活中事物的描述,而对象就是这类事物,它是实实在在存在的个体,此外,通过举汽车的例子,也让我们对类与对象有了更深层次的理解。
•java.util.Scanner类:java.util.Scanner的nextInt()方法会看看标准输入中,有没有输入下一个字符串(以空格或换行分隔),有的话会尝试将之剖析为int类型,其它的nextByte()、nextShort()等作用都类似。如果直接取得上一个字符串(以空格或换行分隔),则使用next(),如果想取得用户输入的整行文字,则使用nextLine()(以空格或换行分隔),总而言之Scanner类大大简化了Java的输入。
•java.math.BigDecimal类:Java遵守IEEE754浮点数运算规范,使用分数与指数来表示浮点数,这样就导致无法精确的进行运算,从而造成运算上的误差,比如1.0-0.8的结果就不是0.2。因此如果要求精确度,那就要小心使用浮点数,而且不能用==直接比较浮点数运算结果,所以我们可以使用BigDecimal类来得到想要的精确度。
•在Java中,数组是对象,Java需要检查数组边界,越界会触发ArrayIndexOutOfBoundsException异常(这一点与c语言不同)
•在Java中,字符串是java.lang.String实例,用来打包字符数组。
第五章 对象封装
5.1 何谓封装
•封装(Encapsulation)实际上使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作。
5.2类语法细节
this关键字
•this代表其所在函数所属对象的引用,简而言之就是this代本类对象的引用,当在函数内需要用到调用该函数的对象时,我们就可以使用this。
•this()代表了调用另一个构造函数,至于调用哪个构造函数,则视调用this()时给的自变量类型与个数而定。
static关键字
•static用于修饰成员(成员变量和成员函数),被声明为static的成员,不会让个别对象拥有,而是属于类。 •在static方法中不能出现this关键字,static方法中不能用非static数据或方法成员。
教材学习中的问题和解决过程
在数组的学习中看不懂这样的代码:
for(int score:scores){
System.out.printf("学生分数:%d %n",score);
}
再仔细阅读教材后发现,上述代码的意思可以解释为:
for(int i=0;i<scores.length;i++)
这个增强式for循环更加简便,他的思路是:上面的程序片段取得scores数组第一个元素,指定给score变量后执行循环体,依次类推,直到scores数组中所有元素都访问完为止。
代码调试中的问题和解决过程
以下是我练习的代码(举4个例子,其余代码已经托管):
其他(感悟、思考等,可选)
这两章的内容明显比前面的要难,单纯看书根本没有头绪,通过请教其他同学和观看相对应的视频课程对我的帮助非常大,这个习惯以后也保持下去,不能轻易的被困难吓到。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
目标 | 3500行 | 20篇 | 300小时 | |
第一周 | 150/150 | 1/1 | 14/14 | |
第二周 | 150/300 | 1/2 | 14/28 | |
第三周 | 100/400 | 1/3 | 14/42 | 学会托管代码,学会了构造模型的方法来了解类与对象这部分的知识。 |