zoukankan      html  css  js  c++  java
  • 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  

    参考资料

  • 相关阅读:
    低落
    栗子
    Wireless Password HDU
    考研路茫茫——单词情结 HDU
    DNA Sequence POJ
    HDU 6138 Fleet of the Eternal Throne 多校#8 AC自动机
    Rikka with Candies HDU
    Wavel Sequence HDU
    Counting Divisors HDU
    Codeforces Round #424 E. Cards Sorting 线段树/数据结构瞎搞/模拟
  • 原文地址:https://www.cnblogs.com/20145336yang/p/5300322.html
Copyright © 2011-2022 走看看