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

教材学习内容总结

  1. 类:创建类、使用类
  2. 基本类类型与类类型
  3. 数组
  4. 封装的概念
  5. 重载
  6. 类语法
  7. static成员

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

  • 1.既然数组在JAVA中就是对象,那么int[] 是否是一个类呢?

  • 可以当做一个类,这个是由JVM动态产生的。

  • 2.我们知道使用新类的时候需要先建立实例,使用标准类java.util.Scanner以及java.math.BigDecimal时就建立了实例,但使用其他的标准类(java.util.Arrays、java.lang.System)时就没有再建立实例了,这是什么原理?什么时候使用其他类的时候不需要建立实例?

  • 【猜测】有些类不需要额外说明,直接用就好了,例如java.util.Arrays、java.lang.System。

  • 3.学了哪些标准类?

  • 【个人总结】

  • 4.将某个名称参考(Refer)至新建对象是一个怎么样的过程?

  • 也即在stack里开辟了一个新的空间存放对象的地址

  • 5.从内存实际运作来看,为什么=与==在基本类型与对象类型中使用没什么不同?

  • 推荐链接(教材):我们没什么不同

  • =其实就是将操作数的值赋给被操作数;就是比较两个操作数的值有什么不同,在对象类型中存在内存中的是地址,所以实际上=与在基本类型与对象类型中的使用没什么不同。

  • 6.java.math.BigDecimal中add()与plus()的区别?

  • 【个人代码总结】

...
Integer a = new Integer(b); \\或(123);
Integer a = 123;
Number a = 0.00f;

int[] a1 = new int[] {1,2,3};
int[] a1 = new int[3];
int[] a1 = {1,2,3};

Integer[] c1 = new Integer[] {new Integer ("1"), new Integer("2")};
Integer[] c1  = {1,2};

c1[0] = new Integer(99);
c1[0] = 99;
...
  • 7.this究竟是什么?
  • 推荐:java中this的用法
  • “每当一个对象创建后,Java虚拟机会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。”(来自:java中this作用的具体作用和实例讲解)
  • “this就是说这个类的当前这个对象,也就是构造方法产生的对象。”
  • “当全局变量跟局部变量重名时,表示使用全局变量(此时this指代本类对象)”
  • “构造方法相互调用,此时this指代本类类名”
  • “另外,涉及到静态的东西,就不会用this,因为静态的东西是一个类所有对象共用的东西,不归某一个对象”
  • 【关键点】this就是指这个类的当前的这个对象
  • 8.怎么判别静态成员?
  • P144

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

  • 1.想复制一个自己写的代码换一些部分验证某个知识点,发现编译不了,代码也没有错,想知道发生了什么
  • 最后再次新建一个.java文件,将内容放在新的文件里,编译就成功了,猜测原因是因为自己在操作过程中发生了一些改变信息的动作,导致编译出错。这类问题也曾发生在学习C语言以及用Quartus II 13.0sp1 (64-bit)学习HDL,个人认为这说明了除了自己需要小心操作以外,软件本身还是存在一些潜在的问题的。
  • 2.没有加换行符号,为什么会自动换行?且换行后光标在行头?
  • 3.NullPointerException是什么意思?运行23、24两行会发生什么?是什么样的原理?与第22行的含义有什么区别?第22行可以运行(虽然只是贴了个标签),但第23行不能运行,出现提示“NullPointerException”。

代码托管

  • 代码提交过程截图(最后一次的截图):
    • 运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图
  • 代码量截图:
    • 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图

上周考试错题总结

  • *1.Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . -name .java -ctime 2)
  • 注意点:是当前目录而不是home目录
  • 6.~0b1011的十进制值是(-12)
  • 知识点:逻辑上,计算机中的二进制是以补码的形式存在。
  • 12.判断:0.123==1.23e-2(X)
  • 编程发现是正确的?

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 45/45 1/1 15/15
第二周 288/333 2/3 21/31
第三周 513/846 1/4 11/42
  • 计划学习时间:15小时

  • 实际学习时间:11小时

  • 改进情况:多花点时间

参考资料

posted @ 2017-03-12 20:28  protectmonarch  阅读(219)  评论(6编辑  收藏  举报