20165226 2017-2018-4 《Java程序设计》第6周学习总结

时间:2024-01-21 11:54:45

20165226 2017-2018-4 《Java程序设计》第6周学习总结

教材学习内容总结

第八章 常用实用类

  • string类
    • 并置
      • 两个常量进行并置,得到的仍是常量。
public class Example8_1 {
public static void main(String args[]) {
String hello = "你好";
String testOne = "你"+"好";
System.out.println(hello == testOne);
System.out.println("你好" == testOne);
System.out.println("你好" == hello);
}
}
  • equals

    String对象调用equals(String s)方法比较当前String对象的字符序列是否与参数s指定的String对象的字符序列相同。
  • StringBuffer类
  • Date类与Calendar类
  • 日期格式化

    - format方法(也可用于数字格式化中
format(格式化模式,日期列表)

第十五章 泛型与集合框架

  • 泛型

    - 声明泛型类class 名<泛型列表>

    - 声明对象:类名多了<>,并用具体类型替换<>中的泛型
  • LinkedList泛型类(创建链表)
  • HashMap<K,V>泛型类(其对象采用散列表这种数据结构存储数据)
  • 树集

    - TreeSet泛型类(其创建的对象称作树集)

    - 树映射(适合用于数据的排序,结点按着存储对象的大小升序排列)

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

  • 问题一:书上P179中的Example8_2.javaSystem.out.println(s1==s2);输出为false

    20165226 2017-2018-4 《Java程序设计》第6周学习总结

  • 问题一解决方案:通过查看书内容,得知string对象s1s2中存放的是引用,表明自己的实体的位置信息,因此应该使用System.out.pritnln(s1.equals(s2));

  • 问题二:在学习equals时联想到=,同时回想起以前课上老师提起过instanceof,不禁产生疑问,这三个有什么区别,使用的环境有什么不同?

  • 问题二解决方案:通过查找资料,得出以下结论

instanceof:

用于判断一个引用类型所引用的对象是否是一个类(子类)的实例,左边操作元是一个引用类型,右边是一个类(父类)名或(父类实现的)接口名;
多态性,对于引用类型变量,java编译器只根据变量被显示声明的类去编译,左边操作元被显示声明的类型与右边操作元必须是同类或有继承关系
在运行时根据左边实际引用的对象来判断 操作符== 操作符==用于判断两个操作元是否相等,既可以是基本类型也可是引用类型,当是后者时,引用变量必须引用同一个对象时才返回true
操作符==同样具有多态性 对象的equals()方法 Object中equals方法规则为:当参数object引用的对象与当前对象为同一个对象时就返回true
jdk中一些覆盖equals方法的类有io.File、util.Date、lang.String以及包装类,比较规则更具实际意义:对象已知且内容一致,则返回true
用户可通过自定义类中覆盖equals方法,重新定义比较规则

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

20165226 2017-2018-4 《Java程序设计》第6周学习总结

  • 问题一:成功编译,但是未能成功运行

20165226 2017-2018-4 《Java程序设计》第6周学习总结

  • 问题一解决方案:尝试了在代码开头添加import java.util.* 在运行时应该直接java C +数字,然后成功运行

代码托管

20165226 2017-2018-4 《Java程序设计》第6周学习总结

上周考试错题总结

第五周的测试还没结束,目前还不知道有哪些错题。因此,这周错题留到下一周,然后第五周第六周错题一并总结。

结对及互评

  • 博客中值得学习的或问题:
    • 要素全面
    • 很认真细致
    • 排版简介美观
  • 代码中值得学习的或问题:
    • 代码中文件分类简洁
    • 很认真

点评过的同学博客和代码

  • 本周结对学习情况
    • 20165230
      • 结对学习内容
      • 商讨第八章中equals的运用

其他

学习了第八章和第十五章,时间有点紧,第五章测试和第十五章测试以及两个测试还有一个实验报告,都在一周完成,但差不多有效学习时间只有两天,之前没料到这个小长假会有如此多的作业,不过逼一下自己有时也挺好的,能静下来看一下书,即使有些知识点可能略过没能仔细琢磨,但总归还是能学到一些知识。只是希望以后的学习,步伐能稍微缓一些,一步一步打牢基础。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 48/48 1/1 20/20
第二周 390/438 2/3 18/38
第三周 866/1304 1/4 18/56
第四周 1105/2409 1/5 30/86
第五周 1229/3196 1/6 20/106
第六周 1147 /4343 2/8 25/131

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

  • 计划学习时间:30小时

  • 实际学习时间:18小时

  • 改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表
)

参考资料