20145331 《Java程序设计》第3周学习总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20145331 《Java程序设计》第3周学习总结相关的知识,希望对你有一定的参考价值。

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 学会托管代码,学会了构造模型的方法来了解类与对象这部分的知识。

参考资料

以上是关于20145331 《Java程序设计》第3周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

20145331《Java程序设计》第5周学习总结

20145331《Java程序设计》课程总结

20145331 《信息安全系统设计基础》第3周学习总结

20145331 《信息安全系统设计基础》第5周学习总结

20145331《信息安全系统设计基础》第9周学习总结

20145331 《信息安全系统设计基础》第1周学习总结