zoukankan      html  css  js  c++  java
  • 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小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    ACM的算法分类 2015-04-16 14:25 22人阅读 评论(0) 收藏
    初学Larevel 2014-08-21 11:24 90人阅读 评论(0) 收藏
    初学PHP&MySQL 2014-05-31 12:40 92人阅读 评论(0) 收藏
    codeforces 570 E. Pig and Palindromes (dp)
    codeforces 570 D. Tree Requests (dfs序)
    poj 2157 Maze (bfs)
    cf 570 C. Replacement (暴力)
    cf 570B B. Simple Game(构造)
    cf 570 A. Elections
    hdu 1429胜利大逃亡(续) (bfs+状态压缩)
  • 原文地址:https://www.cnblogs.com/GDDFZ/p/6660051.html
Copyright © 2011-2022 走看看