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


    教材学习内容总结

    • 分类
    1. 输入流&输出流
    2. 字节流&字符流
    3. 节点流&处理流
    • 核心方法
    1. Input Stream
    int read(byte[]b,int off,int len)
    

    2.Output Stream

    void write(byte[]b,int off,int len)
    
    内容名称 作用
    byte[]b 放入读取的字节
    int off 偏移量-把字节从b的第off位开始放入
    int len 读一次最多多少数据
    返回值 字节数
    • BufferReader
     public String readLine()
     throws IOException
    

    调用一行数据,这一行数据作为字符串返回

    在windows下“ ”,Linux下" "视为结束一行

    生成Buffer Reader对象的方法

    BufferReader in = new BufferReader(newFileReadear("foo.in"));
    
    • 线程能否运行关键在于能否抢到CPU。

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

    • 问题1:Decorator模式是什么

    • 问题1解决方案:

      查到的资料如下:
      decorator 英 [ˈdekəreɪtə(r)] 美 [ˈdɛkəˌretɚ] n. 室内装饰师,油漆匠 adj. 适于室内装饰的

      动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。——包装器Wrapper。
      参考资料:Decorator模式——设计模式学习笔记

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

    • 问题1:日常红下划波浪线

    • 问题1解决方案:顺手IDEA快捷psvm+tab键,忘了输入throws IOException。但是依旧无法解决IO为红色的状况。

    最终解决是将之前的类名修改。忘了最开始将书上的代码使用“IO”而自己打的时候写的是“StreamIO"故失败。将原程序改回IO就好。

    代码托管

    上周考试错题总结

    • 错题1及原因,理解情况

    Which of the following methods will not compile? :

    A . private void method1(String name) {
    if (name.equals("star"))
    throw new IllegalArgumentException(name);
    }

    B . private void method2(int age) {
    if (age > 30)
    throw Exception();
    }

    C . public double method5() throws Exception {
    return 0.7;
    }

    D . protected double method4() throws Exception {
    throw new Throwable();
    }

    正确答案: B D

    解析:
    成功编译的方法,正确不是可能实现的。
    这个问题只有询问将因此遵循的语法规则的方法,他们成功编译。

    (A) 代码选项编译成功。因为则抛出运行时异常,method1()可以把它扔而无需声明它扔进其抛出声明。

    (B) 选项代码无法编译。method2() 抛出检查的异常,那就是,而无需声明它在其抛出声明中引发的异常。虽然中选项的代码。A
    方法可以不包括在其方法声明的 throws 子句中引发过程 (未经检查的异常)。

    (C) 选项代码将成功编译。如果一个方法将声明抛出异常,它可能不实际抛出它。这只适用于例外 (因为运行时 Exception 子类它),运行时异常和错误

    (D) 选项代码无法编译。如果一个方法将声明要抛出检查的异常,它的身体不能在它的身体扔一个更一般的异常。method4() 声明为抛出异常,但抛出 Throwable,这不允许 (异常子类可抛式)。

    • 错题2及原因,理解情况
      现有:
      class Number{
      public static void main(String [] args) {
      try {
      System.out.print (Integer.parselnt ("forty"));
      } catch (RuntimeException r) {
      System.out.print ("runtime");
      } catch (NumberFormatException e) {
      System.out.print("number");
      }
      }
      }
      结果是什么?

    A .
    number

    B .
    runtime

    C .
    forty number
    D .
    编译失败
    正确答案:D
    解析:先catch子类,后catch父类。

    • 错题3及原因,理解情况
      现有:
      class Flow {
      public static void main(String [] args) t
      try {
      System. out .print ("before") ;
      doRiskyThing ( ) ;
      System.out.print ("after ") ;
      } catch (Exception fe) {
      System.out.print ("catch") ;
      }
      System. out .println ( " done") ;
      }
      public static void doRiskyThing() throws Exception{
      }}
      可能会产生哪两项结果 ?(选两项)

    A .
    before catch

    B .
    before after done
    C .
    before catch done
    D .
    before after catch
    正确答案:BC
    解析:doRiskyThing中有throw C,否则B

    结对及互评

    评分标准

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

    2. 模板中的要素齐全(加1分)

    3. 教材学习中的问题和解决过程, 一个问题加1分

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

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

    6. 其他加分:

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

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

    点评过的同学博客和代码

    • 本周结对学习情况

    上网多年,截止到现在我自己主动发到网上的自拍数量应该是不超过一只手的

    - 结对学习内容
        - 一起自习学习Java
    

    其他

    视频学习实在是学习的一大助力。回想起之前好几个用传统教学方式的老师反复强调的“上课认真听,下课很轻松。”此番真是深深体会到了。希望能有之前几章的视频内容推荐,之前的章节学得很不扎实……沮丧脸。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 16篇 400小时
    第一周 9/9 1/1 19/19 熟练下载安装技能,锻炼解决问题能力
    第二周 185/194 1/2 16/35 下载并熟悉IDEA,练习使用码云、git的技能。
    第三周 488/535 1/3 18/53 花了更少时间磨合软件,学习更顺利
    第四周 366/901 2/5 18/71 继承、多态、行为
    第五周 611/1512 1/6 14/67 异常处理、Collection与Map
    第六周 337/1849 1/7 16/73 输入与输出、线程与并行API

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

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

    • 计划学习时间:20小时

    • 实际学习时间:16小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    静态变量、静态方法说明
    DataGridView导出成excel实例
    异步执行小例子
    多线程操作的例子
    xmlReader遍历xml文档案例
    C#自动登录网页浏览页面 抓取数据
    datatable序列化成xml,xml反序列化成datatable
    TreeView递归法动态添加节点
    今天写的一个导出html页面的过程
    利用委托的BeginInvoke防止界面假死的实例
  • 原文地址:https://www.cnblogs.com/GDDFZ/p/6660051.html
Copyright © 2020-2023  润新知