java第三周学习总结

Posted

tags:

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

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

教材学习内容总结

类与对象:

面向对象:三大特征:封装,继承,多态。

开发就是找对象使用,没有对象,就创建一份对象。找对象,建立对象,使用对象,维护对象的关系。

类和对象的关系:

类就是对心事生活中的食物的描述。对象就是这类事物,实实在在存在的个体。

描述对象事物的属性和行为

属性对应类中变量,行为对应类中的函数(方法)

其实定义类,就是描述事物,就是在定义属性和行为,属性和行为共同成为类中的成员(成员变量和方法)

对象的指定方式是对象.对象成员

在一个java文档中可以有多个类,当类只需要描述一个事物,而不需要独立运行的时候,是不用写主函数的,例如教材第84页的Clothes类就没有主函数,它只是为了描述事物,这也类似于我们C语言中定义一个函数。不过我们尽量不要在一个类中写多个class,如果有多个class,也只能有一个类前面加public,要养成一类一文件的习惯。

类类型变量指向对象实体

成员变量作用于整个类中,局部变量作用于函数中或者语句中。 成员变量在堆内存中,因为对象的存在,才在内存中存在。局部变量存在在栈内存中。

匿名对象使用方式:1、当对象的方法只电泳一次时,可以用匿名对象来完成,这样写比较简化。如果对一个对象进行多个成员调动是,必须给对象起个名字。2、可以将匿名对象作为实际参数进行传递。

标准类

两个基本的标准类:java.util.Scanner与java.math.BigDecimal()

java.util.Scanner

java.util.Scanner可以帮助你偷懒。

java.util.Scanner类:java.util.Scanner的nextInt()方法会看看标准输入中,有没有输入下一个字符串(以空格或换行分隔),有的话会尝试将之剖析为int类型,其它的nextByte()、nextShort()等作用都类似。如果直接取得上一个字符串(以空格或换行分隔),则使用next(),如果想取得用户输入的整行文字,则使用nextLine()(以空格或换行分隔),总而言之Scanner类大大简化了Java的输入。

java.math.BigDecimal()

创建BigDecimal的方法之一是使用字符串,BigDecimal在创建时会剖析传入字符串,以默认精度进行接下来的运算。BigDecimal提供有plus(),substract(),multiply(),divide()等方法,可以进行加、减、乘、除等运算,这些方法都会返回代表运算结果的BigDecimal。

基本类型打包器

可以使用Long、Integer、Double、Float、Boolean、Byte等类来打包基本类型,这些类就是所谓的打包器,这些泪主要目的就是提供对象实例作为“壳”,将这些类型打包到对象之中,这样就可以操作这个对象,可以让java基本类型像对象一样操作。

数组

在java中数组是对象,而不是单纯的数组集合,数组一旦建立,其长度就固定了。

一维数组使用一个索引存取数组元素,二维数组使用两个索引存取数组元素。

在Java中可以使用System.arraycopy()的方法来进行数组值的复制,它会使用原生方式复制每个索引元素,比使用循环更快。在JDK6以上的版本中,还有个更方便的Arrays.copyOf()的方法,能够帮你建立新的数组。无论System.arraycopy()还是Arrays.copyOf(),用在类类型声明的数组时,都是执行浅层复制。

技术分享

对象封装

封装目的就是隐藏主要的对象细节,将对象当作黑箱进行操作用户会调用构造函数,但不知都构造函数的具体细节,知道方法,但不知道其流程。

this关键字

this代表其所在函数所属对象的引用,简而言之就是this代本类对象的引用,当在函数内需要用到调用该函数的对象时,我们就可以使用this。this()调用只能出现在构造函数的第一行。

static关键字

被声明为static的成员,不会让个别对象拥有,而是属于类。我们也是通过类名称与“.”运算符,就可以取得static成员。我们一直在用的System.in与System.out中的in与out都是static成员。

static成员属于类所有,将类名称当作名称空间是其最常使用的方式。正是由于static成员是属于类,而非个别对象,所以在static成员中使用this会是一个语意上的错误。有些情况没有写this,但是隐含了this的意义在里面,因此也会发生编译错误。

.class被JVM加载后,默认就会执行static区块。在JDK5之后,新增了import static语法,可以在使用静态成员时少打几个字。我们可以通过import来偷懒,偷懒过头就会出现问题,要注意名称冲突问题,有些名称冲突,编译程序可通过以下顺序来

技术分享

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

对于类的理解起先光看概念难以理解,但之后将其与代码结合实例将理解的更加透彻

技术分享

此次学习是我第一次使用eclipse编写代码,有许多地方都是借助同学的帮助才解决了问题的。

对栈和堆的定义没有搞懂,在看视频和回忆老师上课所讲最终理解了两者的区别与联系

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

在编写代码时保存文件不在同一个包里,因此运行总是上一个文件,将文件复制过来然后就可以运行了。

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

在解决问题时,画流程图是一个很好的办法。在编写代码时,你可以先画出流程图,然后再将流程图转化为代码。在阅读代码时,你也可以先将代码转换为流程图,然后再将流程图看懂。这样做调理清晰,不会应为代码复杂而扰乱自己的思路。

学习进度条

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标 5000行 30篇 400小时  
第一周 150/150 1/1 15/15  
第二周 150/400 1/2 15/ 30  
第三周 150/550 1/31 20/40  

 

参考资料

以上是关于java第三周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

JAVA第三周学习总结

java第三周学习总结

《Java》第三周学习总结

第三周学习java第四章学习总结及体会!

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

201521123092《java程序设计》第三周学习总结