zoukankan      html  css  js  c++  java
  • 20155325 2016-2017-2 《Java程序设计》第8周学习总结

    教材学习内容总结

    • NIO用于高级输入/输出处理
    名称 衔接数据源与目的地
    IO InputStream,OutputStream
    NIO Channel
    方法 方法的作用
    ReadableByteChannel read() 将ReadableByteChannel中的数据读取至ByteBuffer
    WritableByteChannel write() 将ByteBuffer的数据写到WritebaleByteChannel
    ScatteringByteChannel read() 将ScatteringByteChannel中的数据读取至ByteBuffer
    GatheringByteChannel write() 将ByteBuffer的数据写GatheringByteChannel

    Channel继承架构:

    • Buffer继承架构:

    方法 作用
    split() 将指定字符串依规则表达式切割
    matcher() 指定要比较的字符串
    find() 看看是不是有下一个符合字符串
    lookingAt() 看看字符串开头是否符合规则表达式
    group() 可以返回符合的字符串
    replaceAll() 可以将符合规则表达式的部分以指定的字符串取代
    replaceFirst() 取代首个组合规则表达式的部分
    replaceEnd() 取代最后符合规则表达式的部分
    start() 取得符合字符串的初始索引
    end() 取得符合字符串最后一个字符后的索引
    parallelPrefix() 指定×××BinaryOperator实例
    parallelSetAll()) 对数组进行初始化或者全面重设每个索引元素
    parallelSort 将指定的数组分为子数组并以平行化方式分别排序,然后再进行合并排序

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

    问题1:研究DecimalFormat类

    问题1解决方案:资料如下
    作用:DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。

    符号 含义
    0 一个数字
    # 一个数字,不包括 0
    . 小数的分隔符的占位符
    , 分组分隔符的占位符
    ; 分隔格式
    - 缺省负数前缀
    % 乘以 100 和作为百分比显示
    ? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用

      国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代
      替十进制分隔符。
      X |前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。

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

    问题1:p481 Hello

    问题1解决方案:改了一下

    但是还是不行

    最后参考以下链接:
    java.util.ResourceBundle使用详解

    最后将messages放到了存代码的根目录下就运行成功了

    问题2:贪婪、非贪婪、独占量词

    问题2解决方案:

    贪婪 非贪婪 独占
    X? X?? X?+
    X* X*? X*+
    X+ X+? X++
    X{n} X{n}? X{n}+
    X{n,} X{n,}? X{n,}+
    X{n,m} X{n,m}? X{n,m}+

    Greedy:贪婪
      匹配最长。在贪婪量词模式下,正则表达式会尽可能长地去匹配符合规则的字符串,且会回溯。

    Reluctant :非贪婪
      匹配最短。在非贪婪量词模式下,正则表达式会匹配尽可能短的字符串。

    Possessive :独占
      同贪婪一样匹配最长。不过在独占量词模式下,正则表达式尽可能长地去匹配字符串,一旦匹配不成功就会结束匹配而不会回溯。

    参考资料:正则的回溯

    代码托管

    上周考试错题总结

    1. JDK8中的Lambda表达式有以下好处:

    A .
    消除重复性
    B .
    提高性能
    C .
    提高安全性D .
    改善可读性

    答案:AD

    1. JDK8 中新时间API中,用于度量时间的类有()
      A .
      Instant
      B .
      Duration
      C .
      Period
      D .
      LocalDateTime

    答案:BC

    解析:……在这里“度量”的意思等同于“定义”

    3.Java 8之前,对日期进行运算,使用()类。
    A .
    Date
    B .
    DateFormat
    C .
    Calendar
    D .
    SimpleDateFormat

    答案:C

    4.new Date(System.currentTimeMillis( ))等价于new Date()
    A .
    True
    B .
    False

    答案:A

    解析:

    public class DateDemo {
        public static void main(String[] args) {
            Date date1 = new Date(currentTimeMillis());
            Date date2 = new Date();
    
            out.println(date1.getTime());
            out.println(date2.getTime());
        }
    }
    

    结果是:

    5.When applied to instance variables, the ________________ visibility modifier enforces encapsulation(当应用到实例变量时,____可见性修饰符强制执行封装).
    A .
    static
    B .
    final
    C .
    public
    D .
    private
    E .
    none of the above(以上都不是)

    答案:D

    解析:私有可见性修饰符防止不适当的数据访问,因此促进封装。选择A和B不是可见性修饰符,而选择C是可见性修饰符,允许对对象数据的公共访问,这违背了封装的原则。

    6.Which of the following method headers is most likely a header for a mutator method?(以下哪个方法头部最有可能是设值方法的头部?)
    A .
    public int getAge()
    B .
    public double computeSalary()
    C .
    public Person()
    D .
    public void setAge(int newAge)
    E .
    none of these are headers for a mutator method(以上均不是设值方法的头部)

    答案:D

    解析:应用程序的方法,改变一个实例变量的值,通常称为“setters”,因此,选项D是正确答案。选择是一个访问器方法的头一个例子,通常被称为“getter”,选择C是一个构造函数,选择B是一个类的方法。

    7.__________________ parameters are the values that are used when calling a method(___参数是调用方法时传给方法的值).
    A .
    formal(形式参数)
    B .
    actual(实际参数)
    C .
    useful(有用的参数)
    D .
    informal(非正式参数)
    E .
    none of the above(以上都不是)

    答案:B

    解析:调用方法时发送实际参数。定义方法时使用形式参数。

    8.A method that has multiple definitions is an __________________ method(具有多重定义的方法称为方法___).
    A .
    overloaded(重载)
    B .
    overridden(重写)
    C .
    overlooked(忽略)
    D .
    overclocked(超频)
    E .
    none of the above(以上均不是)

    答案:A

    解析:有多个定义的方法是重载方法。重载方法的版本由参数的数量、类型和顺序区分。重写的方法是在继承层次结构中重新定义的方法。他们将更详细地研究。选择C和D是不是在java类的方法。

    9.An object can be thought of as a blueprint for a set of classes(对象被认为是类集合的蓝图).
    A .
    true
    B .
    false

    答案:B

    解析:类可以被看作是一组对象的蓝图,而不是另一种方式。

    10.When an object is passed to a method, the actual and formal parameters become aliases(当把对象传递给方法时,实参和形参互为别名).
    A .
    true
    B .
    false

    答案:A

    解析:实际参数是发送到方法中的数据。方法定义中使用了形式参数。当对象被发送到一个方法时,这些值都是引用,它们成为彼此的别名。

    11.Which of the following objects could contain the information “eastern standard time”?(下面哪些类的对象会包含“东部标准时间”的信息)
    (Choose all that apply.)
    A .
    Instant
    B .
    LocalDate
    C .
    LocalDateTime
    D .
    LocalTime
    E .
    ZonedDateTime

    答案:E

    解析:localxxxx明确排除时区。瞬间代表一个时间点,但
    始终使用GMT而不是所需时区。

    12.Which of the following are stored in a Period object? (Choose all that apply.) 下面哪些内容会出现在Period对象中?

    A .
    Year
    B .
    Month
    C .
    Day
    D .
    Hour
    E .
    Minute
    F .
    Second

    答案:ABC

    解析:持续时间使用小时/分钟/秒和周期使用年/
    措施月/日。

    13.Given the following, which answers can correctly fill in the blank? (Choose all that apply.)针对下面的代码,()中应填入哪个选项?
    LocalDate date = LocalDate.now();
    LocalTime time = LocalTime.now();
    LocalDateTime dateTime = LocalDateTime.now();
    ZoneId zoneId = ZoneId.systemDefault();
    ZonedDateTime zonedDateTime = ZonedDateTime.of(dateTime, zoneId);
    long epochSeconds = 0;
    Instant instant = ( );

    A .
    Instant.now()
    B .
    Instant.ofEpochSecond(epochSeconds)
    C .
    date.toInstant()
    D .
    dateTime.toInstant()
    E .
    time.toInstant()
    F .
    zonedDateTime.toInstant()

    答案:F

    解析:选项正确创建当前瞬间。选项B正确转换
    秒到瞬间。选项F也是一个适当的转换。选项C,D和E是
    不正确,因为源对象不代表时间点。没有时区,
    java不知道什么时候使用即时。

    14.What is the output of the following code?(下面代码的运行结果是?)
    LocalDate date = LocalDate.of(2018, Month.APRIL, 40);
    System.out.println(date.getYear() + " " + date.getMonth()

    • " "+ date.getDayOfMonth());

    A .
    2018 APRIL 4
    B .
    2018 APRIL 30
    C .
    2018 MAY 10
    D .
    Another date
    E .
    The code does not compile.
    F .
    A runtime exception is thrown.
    答案:F

    解析:java抛出异常如果无效的日期值传递。没有第四十天
    四月或任何其他月份

    ...
    结对及互评

    评分标准

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

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

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

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

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

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

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

    有抄袭的扣至0分
    代码作弊的扣至0分
    迟交作业的扣至0分
    点评模板:

    博客中值得学习的或问题:

    xxx
    xxx
    ...
    代码中值得学习的或问题:

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

    参考示例

    点评过的同学博客和代码

    本周结对学习情况
    20155328

    结对照片

    结对学习内容
    14、15章
    ...
    上周博客互评情况
    20155227
    20155231
    20145234
    20155233
    20155336
    ...
    其他(感悟、思考等,可选)

    下一周终于要没那么多工作了,喘气,太好了可以更多时间补一补之前觉得很虚的地方了。
    标了页码的解析让我觉得安心。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 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
    第七周 459/2308 2/9 15/88 Lambda、时间与日期
    第八周 554/2862 1/10 16/104 NIO与NIO2&通用API

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

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

    计划学习时间:17小时

    实际学习时间:15小时

    改进情况:

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

    参考资料

  • 相关阅读:
    jquery toggle(listenerOdd, listenerEven)
    struts quick start
    hdu 1518 Square (dfs)
    hdu 2544 最短路 (最短路径)
    hdu 1754 I Hate It (线段树)
    hdu 1856 More is better (并查集)
    hdu 1358 Period (KMP)
    hdu 2616 Kill the monster (DFS)
    hdu 2579 Dating with girls(2) (bfs)
    zoj 2110 Tempter of the Bone (dfs)
  • 原文地址:https://www.cnblogs.com/GDDFZ/p/6718704.html
Copyright © 2011-2022 走看看