zoukankan      html  css  js  c++  java
  • 20175226 2018-2019-2 《Java程序设计》第三周学习总结

    20175226 2018-2019-2 《Java程序设计》第三周学习总结

    教材学习内容总结

    • 编程语言的几个发展阶段
      • 类面向机器语言(汇编语言)、面向过程语言(C语言)、面向对象语言(Java、C++)
      • 面向对象语言:封装性、继承、多态
    • 类(class 类名 { 类体的内容 })
      • 类声明
        • 名字首拉丁字母使用大写字母
        • 类名容易识别,见名识意
      • 类体
        • 变量的声明:体现变量的属性
        • 方法的定义:即给出算法,体现对象所具有的行为
      • 成员变量(声明变量所声明的变量被称为成员变量或域变量)
        • 有效性与书写的先后位置无关
      • 方法(方法头与方法体)
        • 局部变量只在方法内有效,而且与其声明位置有关
        • 局部与成员变量名字相同时,成员变量在这个方法内无效
    • 构造方法与对象的创造
      类中构造方法的名字必须与它所在类的名字完全相同,而且没有类型
      类中没有构造方法,系统会默认只有一个构造方法
      • 创建对象(类的名字 对象的名字)
        • 空对象不能使用
        • new运算符只能和类的构造方法进行运算(结果是十六进制的数)
        • 对象用“.”运算符访问自己的变量和创建它的类中的方法
        • 同一类创建的两个对象允许直接赋值操作
    • 类与程序的基本结构(一个工程由若干个类所构成)
    • 参数传值 (方法中参数变量的值是调用者指定拷贝的值)
      类型相同的两个数组,一引用相同,都有一样的单元
      类型相同的两个对象,一引用相同,都有一样的实体
    • 对象的组合
      一个类可以把某个对象作为自己的一个成员变量(Has-A)
    • 实例成员与类成员
      class A {
      int A //实例变量
      static float B //类变量
      }
      • 两者区别
        • 不同对象的实例对象互不相同
        • 所有对象共享类变量
        • 通过类名直接访问类变量
      • 两种方法的定义
        • 对象调用实例方法,只能用对象来调用,可以操作两种变量
        • 类名调用类方法,对象也能调用,只能操作类变量
    • 方法重载
      • 一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同
    • this关键字(表示某个对象)
      • 实例方法一定是对象来调用,不可以出现在类方法中
    • 包 (package 包名)
      • 不同Java源文件中两个类名字相同时,它们可以通过不同的包来区分
        • 包语句作为源文件的首语句(至多一个)
        • 按照包名形成的目录存放字节码文件
    • inport语句
      • 源文件的包语句之后
    • 访问权限、基本数据封装
    • 对象数组
    • 文档生成器

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

    • 问题1:this语句的使用语境
    • 问题1解决方案:通过看书、询问,了解this语句的两种使用情况:1、当全局变量跟局部变量重名时,表示使用全局变量(此时this指代本类对象);2、构造方法相互调用,此时this指代本类类名
      参考博客
    • 问题2:包的源文件存放需不需要一定放在包名目录下面
    • 问题2解决方案:通过自己的试验吧,感觉好像不需要,源文件编译后会自动将字节码文件放到对应的包目录下面,自己的想法未找到权威说明

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

    • 问题1:在做Example4_8时我在src目录外编译始终找不到组合类
    • 问题1解决方案:通过询问同学知道了因为我在src目录外编译所以不能用javac -d bin src/Example4_8.java直接编译。换用语句javac -d bin src/*.java就解决了问题

    代码托管

    上周考试错题总结

    • 错题1
      表达式0xaa | 0x55的值为
      A .FF
      B .0
      C .255
      D .1
      解析:0xaa 用二进制表示为 10101010 ,0x55 用二进制表示为 01010101 ,按位或之后为 11111111 ,十进制数为255,十六进制数为 0xFF 。
      原因:计算错误
    • 错题2
      定义float x = 0.5f; double y = 0.5,则x==y结果为false。
      A .true
      B .false
      解析:0.5在float和double的范围内都可以使用二进制精确表示,因此两者相等。
      原因:理解不准确
    • 错题3
      表达式-2 >> 1的值为
      A .2^31 – 1
      B .2^15 – 1
      C .1
      D .-1
      解析:带符号右移(“ >> ”),即有符号位时,负数符号位补1,正数符号位补0, -2 的二进制求法是正数取反加1,因此 2 的二进制表示为0000 0000 0000 0000 0000 0000 0000 0010 ,取反加一为1111 1111 1111 1111 1111 1111 1111 1110 ,即 -2 的二进制表示。带符号右移之后为 1111 1111 1111 1111 1111 1111 1111 1111 ,除符号位之外,减一取反,得到带符号十进制数为-1。
      原因:对“>>”符号理解不够到位,导致计算错误。

    学习进度条

    计划学习时间:20小时
    实际学习时间:不到16小时

  • 相关阅读:
    应用程序池的配置 狼
    SQL跨数据库复制表数据 狼
    <script language= "javascript " for= "window " event= "onload "> 狼
    禁止虚拟目录继承根目录下web.config中的有些配置 web.config的继承禁止方法 狼
    linux 在程序里修改系统时间
    xlinux下载地址
    安装tslib1.4出现的问题汇总
    linux之看门狗 (转)
    VC中显示GIF图片
    mdev 自动挂载U盘成功
  • 原文地址:https://www.cnblogs.com/20175226wpy/p/10548612.html
Copyright © 2011-2022 走看看