• 20155238 2016-2017-2 《Java程序设计》第五周学习总结


    教材学习内容总结

    • Java语言中所有的错误都会包装为对象。使用trycatch可以对对象做处理。

    • 设计错误对象都继承自java.lang.Throwable类。Throwable定义了取得错误信息,堆栈追踪等方法。
      有两个子类:Java.lang.Error与java.lang.Exception

    • Exception或其子对象,但非属于RuntimeException或其子对象,称为受检异常。

    • 在catch区块进行完部分错误处理之后,可以使用throw将异常抛出。

    • 无论try区块中有无异常发生,若撰写有finally区块,则finally区块一定会被执行

    • collection API。

      Java的Collection API都支持泛型

    • java中许多要判断对象是否重复时,都会调用hashCode()与equals()方法。

    • Map API

    • 如果想要取得Map中的所有键,可以调用Map的keySet()返回Set对象。由于键是不重复的。如果想取得Map中所有的值,则可以使用values()返回Collection对象。

     static void forEach(Collection collection) {
            Iterator iterator = colleciton.iterator();
            while(iterator.hasNext()){
                System.out.println(iterator.next());
            }
        }
    
    static void forEach(Iterable iterator) {
            for(Object o: iterable){
                System.out.println(o);
            }
        }
    

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

    • 问题1:collection架构与Map架构的相同以及不同之处?
    • 问题1解决方案:通过看资料以及网上寻找答案,初步解决。
    • 都是集合类的接口。
      但是Collection是存储一组数据的,比如Set,List,Queue.这些接口都是继承Collection的。
      而Map是按键值对存储的,有key和value,关注点在key的使用。
    • 问题2:set,list,map类接口的区别。
    • 问题2解决方案:收集资料,解决问题。
    • java.util.Set接口及其子类,set提供的是一个无序的集合;

      java.util.List接口及其子类,List提供的是一个有序的集合;

      java.util.Map接口及其子类,Map提供了一个映射(对应)关系的集合数据结构

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

    • 问题1:编译过程中出现collection.java使用了未经检查或不安全的操作,请使用 -Xlint:unchecked 重新编译

    • 问题1解决方案: 不影响程序运行。出现问题的原因在于泛型。
      解决方案为在定义前加@SuppressWarnings("unchecked")

    • 问题2解决方案:XXXXXX

    • ...

    代码托管

    • 代码提交过程截图


    上周考试错题总结

    • 使用JDB进行调试时查看源代码的命令是(list)

    • 10&9 的结果是 8

    • ”Hello”.charAt(1) 的值是(‘e’)

    • XX是一个引用型变量,System.out.println(XX)等价于System.out.println(XX.toString())

    • 抽象类的子类可以是抽象类也可以不是

    • ”Hello”.substring( 0,2 )的值是“He”

    • 实现一个类中的equals()方法时,一定要同时实现(hashCode())方法

    • 接口中 int STOP等价于public static final int STOP

    • 面向对象中,设计经验可以用(设计模式)表达

    • 用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})

    • 父类和子类要有(ISA 或“是一种”)关系

    结对及互评

    • 结对 [20155216](http://www.cnblogs.com/LeeX1997/)

    • 点评:李玺同学一周打的代码非常多,每天的有效代码量在100行以上,值得我们学习。
      同时,也按照了模板和Markdown写博客。
      不足之处在于没有对代码进行更多的创新,在Java的学习中投入了太多时间。

    评分标准

    1. 正确使用Markdown语法(加1分):

      • 不使用Markdown不加分
      • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
      • 排版混乱的不加分
    2. 模板中的要素齐全(加1分)

      • 缺少“教材学习中的问题和解决过程”的不加分
      • 缺少“代码调试中的问题和解决过程”的不加分
      • 代码托管不能打开的不加分
      • 缺少“结对及互评”的不能打开的不加分
      • 缺少“上周考试错题总结”的不能加分
      • 缺少“进度条”的不能加分
      • 缺少“参考资料”的不能加分
    3. 教材学习中的问题和解决过程, 一个问题加1分

    4. 代码调试中的问题和解决过程, 一个问题加1分

    5. 本周有效代码超过300分行的(加2分)

      • 一周提交次数少于20次的不加分
    6. 其他加分:

      • 周五前发博客的加1分
      • 感想,体会不假大空的加1分
      • 排版精美的加一分
      • 进度条中记录学习时间与改进情况的加1分
      • 有动手写新代码的加1分
      • 课后选择题有验证的加1分
      • 代码Commit Message规范的加1分
      • 错题学习深入的加1分
    7. 扣分:

      • 有抄袭的扣至0分
      • 代码作弊的扣至0分

    点评模板:

    • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

    • 参考示例

    点评过的同学博客和代码

    其他(感悟、思考等,可选)

    对于Java程序中出现的错误有了新的认识和更深的体会,对于异常处理有了理解。

    各种不同类型的API标准了JAVA。

    API对于Java和对于Java的学习来说,都是尤其重要的。

    不断敲代码能积累经验,包括避免输入、语法错误。处理异常错误,可以使用JDB调试程序。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 0/0 1/4 8/12
    第二周 70/80 2/5 16/28
    第三周 120/200 3/6 12/40
    第四周 300/500 4/7 20/60
    第五周 500/1000 5/8 15/75 学会了使用手机软件,网络资源帮助自己学习。

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

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

    • 计划学习时间:20小时

    • 实际学习时间:15小时

    • 改进情况:代码量较之前有增进

    (有空多看看现代软件工程 课件
    软件工程师能力自我评价表
    )

    参考资料

  • 相关阅读:
    MongoDB副本集集群,golang与Java连接不同
    dockercompose部署Redis哨兵模式集群
    dockercompose部署minio与Prometheus
    redis哨兵模式集群搭建
    dockercompose kafka集群部署,kafkamanager可视化访问页面增加用户密码校验
    redis
    Prometheus部署监控Minio指标
    换电脑快捷同步vscode插件和配置
    【转】过滤不可见字符
    js解析base64
  • 原文地址:https://www.cnblogs.com/zjy072018/p/6622806.html
Copyright © 2020-2023  润新知