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

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

教材学习内容总结

Chapter 4

  • 要产生对象必须先定义类,类是对象的设计图,对象时类的实例。
  • 一个原始码中可以有很多个类定义,但只能有一个是公开类,且文档中的主文档名必须与公开类名称相同。
  • 构造函数是与类名称同名的方法。
  • 两个基本的标准类:java.util.Scanner与java.math.BigDecimal。
    • 使用java.util.Scanner
      • 一开始使用import。
      • nextxxx()方法。
    • 使用java.math.BigDecimal/
      • 小心使用浮点数,别用==直接比较浮点数运算结果。
      • 使用java.math.BigDecimal类可达到更好的精准度。
  • == 与 equals()有区别。
  • .XxxValue打包器。
  • Integer提供compareTo()方法,同0,小-1,大1。
  • 自动装箱、拆箱的内幕:
    • e.g. 结果:i1 != i2
Integer i1 = 100;
Integer i2 = 200;
if (i1 == i2) {
    System.out.println("i1 == i2");
}
else {
    System.out.println("i1 != i2");
}
  • 使用System.out.println()代替\n。
  • 在Java中只要看到new,一定就是建立对象。本章定义函数的语法代表了数组就是对象。
  • System.arraycopy(来源数组,来源起始索引,目的数组,目的起始索引,复制长度)。
  • Arrays.copyOf();
  • 上述两个复制没有复制出对象,是浅层复制。
  • 数组一旦建立,长度就固定了。
  • 字符串无论在程序代码中出现几次,JVM都指挥建立一个String实例。比较时不能使用==,而要用equals()。
  • 字符串对象一旦建立,就无法更改对象中任何内容。
  • 使用javac指令没有指定-encoding选项时,会使用操作系统默认编码。

Chapter 5

  • 取值以get开头开头,之后接上首字母大写的单词。
  • 若无申明权限修饰的成员,有“范围权限”。如果想在其他包的类程序代码中存取某包的类或对象成员必须是公开成员,在Java中药使用public加以声明。
  • 创建对象时需初始化。
  • 除了被声明static处,均可用this。
  • 若对象数据成员被声明为final,但未明确使用=确定值,那表示延迟对象成员值的指定,在构造函数执行流程中,一定要有对该数据成员指定值得动作。
  • static成员属于类。
  • import static要注意名称冲突问题。

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

  • 跟着教材循序渐进,仔细看没遇到什么问题,但是如果跳了一点点看,可能前面一些关键的点就会被遗漏,尤其是本书中有一些小错误,很容易出现错误。我遇到了一些类似的问题,回头看看之前一点的内容也就解决了。因为我觉得那些错误很低级,没有什么意义,我就没有截图了。

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

  • 我把System.out.printf()看成了System.out.println(),导致出错

代码托管

上周考试错题总结

  • Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . –name *.java -ctime 2)。
  • 这题上一次考试做过类似的,所以这次考试看到了就大意了,没看完题就填答案。
  • 判断: Java中, 数字235.00的类型是float. (X)
  • 没有正确理解float型。
  • ~0b1011的十进制值是(-12)
  • 考虑了取反,但是没有取补码,计算机导论还需要巩固。
  • Java中的字符长度是(2)个字节。
  • 记错了,现在已经记住了。
  • Java中,非零数字等价于true.(X)
  • 没有正确理解Boolean。
  • System.out.printf("%b", 11)的输出结果是0b1011 (X)
  • 没理解%b是Boolean型,现在已经掌握。
  • byte a=3;byte b=4; 那么 a+b的类型也是byte.(X)
  • 没记住这个会转换成int型,现已掌握。

其他

  • 老师说前六周我们最后不要使用IDEA。起初我有点小抵触,明明借助集成开发环境能提高效率干嘛不让我们用,反复敲那些没多大用的东西。但我还是按照老师的意思去做了,我发现每次敲那些框架的过程中,我会对之前学的知识有些回顾,比如package、import、public class、三种prin还能让我们在实践掌握vim的用法。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 18/18 1/1 10/10
第二周 172/190 2/3 18/38
第三周 464/654 3/4 23/61

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

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

参考资料

posted @ 2017-03-12 22:44  0**  阅读(155)  评论(3编辑  收藏  举报