• #20155319 2016-2017-2 《Java程序设计》第3周学习总结


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

    教材学习内容总结

     第三周的学习量还是很大的,需要学习的内容更难了而且   量也变多了,所以投入了更多的时间到Java的学习中去。
    第四章主要讲了Java基本类型中的类类型,如何定义类、构造函数、使用标准类、基本类型打包器、数组复制、字符串等内容查询API文档。
    第五章主要内容包括封装、封装对象、类语法细节、this、static类成员、不定长度自变量、内部类
    

    定义类

    产生对象必须先定义类,对象是类的实例,对象和实例在Java中几乎是等义的名词。

    • new新建一个对象
    • class定义类时使用的关键词
    • String变量的字符串表示
    • char类型声明变量
    • =参考至新建对象

    使用标准类

    • 使用java.util.Scanner标准类来进行输入。对于不同的类有不同的写法nextInt() nextByte() nextFloat()等等
    • 使用java.math.BigDecimal来获得更好的精确度。加减乘除用plus() substract() multiply() divide()

    数组

    • 数组打印:数组就像是一个有很多小隔间的容器,每个小隔间可以放入一个元素,用for语句进行输出。如果是顺序地从头到尾取出数组使用for(int score:scores)
    • 数组排序:数组的常见使用方法就是获取最值和排序,其实二者差别不是很大,都是对数组内每一个小隔间的元素进行判断及重排序。
    • 操作数组对象:如果事先不知道数组中的元素值,只知道元素个数,则可以通过new关键词指定长度来建立数组(例如:int[] scores=new int[10];)。此时数组初始值均为0,若要改变初始值,则可使用java.util.Arrays的fill()方法来设定新建数组的元素值。
    • 数组复制:数组复制的基本做法是另行建立新数组。但可以使用arrays.copyOf()方法。System.arraycopy()的五个参数分别是来源数组、来源起始索引、目的数组、目的起始索引、复制长度。

    字符串对象

    • 字符串是由字符组成的文字符号。在java中,字符串是java.lang.String实例,用来打包字符数组。例如:

    String name="justin" //建立String实例

    System.out.println(name) //显示justin

    System.out.println(name.length()) //显示长度为6

    System.out.println(name.charAt(0)) //显示第一个字符j

    System.out.println(name.toUpperCase()) //显示JUSTIN

    封装

    • 封装可以理解为把方法封在类中,用打时候可以直接拿,就好比你要上学,类就是书包而方法就是书,要用方法打时候直接从书包中拿书就行。

    类语法细节

    • public权限修饰
      public是个公开类,可以在其他包的类中使用。可以在构造函数上声明public,这表示其他包中的类可以直接调用这个构造函数。可以在方法上声明public,这表示其他包中的方法可以直接调用这个方法。
    • 关于构造函数
      函数名与类名相同,不用定义返回值类型,不可以写return语句。
    • 重载
      (1)重载的概念:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
      (2)重载的特点:与返回值类型无关,只看参数列表。
      (3)重载的好处:方便于阅读,优化了程序设计。

    使用this

    • 除了被声明为static的地方外,this关键字可以出现在类中任何地方。在构建函数参数与对象数据成员同名时,可用this加以区别。

    static类成员

    • 被声明为static的成员,不会让个别对象拥有,而是属于类,是将类名称作为名称空间。
    • 由于static成员是属于类,而非个别对象,所以在static成员中使用this,会是一种语意上的错误。
    • 静态变量必须在初始化之前进行赋值,否则会报错。静态方法通常都是被经常使用的方法,不需要每次都重新实例化,提高工作效率。

    内部类

    • 可以在类中再定义类。
    • 内部类也可以使用public、protected或private声明。例如:
    class Some{
    private class Other{
    
    }
    }
    

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

    • 问题:在编写编写定义类的时候出现如下情况

    • 解决方案:在定义类中少加了一个}

    • 问题:在输出数组的时候出现了找不到变量i

    • 解决方案:在for后多打了;

    代码托管

    • 代码提交过程截图:

      • 运行 git log --pretty=format:"%h - %an, %cd : %s"
    • 代码量截图:

      • 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l

    上周考试错题总结

    • ~0b1011的十进制(-12):先取反,负数变反加一。
      1. CH03 判断: 0.123 == 1.23e-2 (X)
    • ...

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 18/38
    第三周 500/1000 3/7 22/60
    第四周 300/1300 2/9 30/90

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

    参考:软件工程软件的估计为什么这么难软件工程 估计方法

    • 计划学习时间:30小时

    • 实际学习时间:17小时

    参考资料

  • 相关阅读:
    Silverligh OOB一直更新
    Silverlight使用通过服务绑定数据的控件
    vue prop不写value的处理逻辑
    .NET Core Http请求(GET、POST、上传文件并携带参数)
    流媒体服务器与web客户端插件的配置与搭建(Darwin Streaming server + Quictime plugin)
    目录
    margin标记可以带一个、二个、三个、四个参数,各有不同的含义。
    Asp.Net中几种相似数据绑定标记符号的解释及用法
    火狐自动换行 有空格
    xml
  • 原文地址:https://www.cnblogs.com/rhl20155319/p/6540113.html
Copyright © 2020-2023  润新知