20155314 2016-2017-2 《Java程序设计》第9周学习总结

时间:2023-09-29 14:31:32

20155314 2016-2017-2 《Java程序设计》第9周学习总结

教材学习内容总结

  • 了解JDBC架构
  • 掌握JDBC架构
  • 掌握反射与ClassLoader
  • 了解自定义泛型和自定义枚举
  • 会使用标准注解

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

课后习题

所谓“实践是检验认识真理性的唯一标准”,我在IntelliJ IDEA上把教材第三章课后练习题又敲了一

遍,给出了自己的答案,并加上了一些自己的分析,通过逐题进行代码调试实践的方式来深入对java类与对象的理解。小白在此恳请大家积极指出错误的地方(>_<)

10.4.1 选择题

  1. AC

  2. BD

  3. AC

  4. BD

    分析:

    20155314 2016-2017-2 《Java程序设计》第9周学习总结

  5. A

    分析:

     import java.util.*;
    class Student9415 {
    String number;
    String name;
    int score;
    Student9415(String number, String name, int score) {
    this.number = number;
    this.name = name;
    this.score = score;
    }
    }
    public class Exercise9415 {
    public static void main(String[] args) {
    Set<Student9415> students = new HashSet<>();
    students.add(new Student9415("B1234", "Justin", 90));
    students.add(new Student9415("B5678", "Monica", 100));
    students.add(new Student9415("B1234", "Justin", 100));
    students.add(new Student9415("B5678", "Monica", 98));
    students.add(new Student9415("B5678", "Monica", 100));
    System.out.println(students.size());
    }
    }

    20155314 2016-2017-2 《Java程序设计》第9周学习总结20155314 2016-2017-2 《Java程序设计》第9周学习总结20155314 2016-2017-2 《Java程序设计》第9周学习总结20155314 2016-2017-2 《Java程序设计》第9周学习总结

  6. BC 分析:

     import java.util.*;
    public class Exercise9416 {
    public static void main(String[] args) {
    Set<Integer> numbers = new TreeSet<>();
    numbers.add(1);
    numbers.add(2);
    numbers.add(1);
    numbers.add(3);
    foreach(numbers);
    }
    private static void foreach(Collection<Integer> numbers) {
    for(Integer number : numbers) {
    System.out.println(number);
    }
    }
    }

    20155314 2016-2017-2 《Java程序设计》第9周学习总结

    20155314 2016-2017-2 《Java程序设计》第9周学习总结

  7. BC

  8. BD

  9. D

    错选:B

  10. ABD

    错选:AD

    分析:

    20155314 2016-2017-2 《Java程序设计》第9周学习总结

    20155314 2016-2017-2 《Java程序设计》第9周学习总结

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

  • 关于建模软件StarUML中.java文件如何反向生成类图的问题,已成功生成如下类图:

    20155314 2016-2017-2 《Java程序设计》第9周学习总结
  • 关于IDEA中.java文件无法成功反向生成类图的问题
    • failed screenshot:

      20155314 2016-2017-2 《Java程序设计》第9周学习总结

      20155314 2016-2017-2 《Java程序设计》第9周学习总结

    • method:

      20155314 2016-2017-2 《Java程序设计》第9周学习总结

    • succeeded screenshot:

      one example:

      20155314 2016-2017-2 《Java程序设计》第9周学习总结

      20155314 2016-2017-2 《Java程序设计》第9周学习总结

      another example:

      20155314 2016-2017-2 《Java程序设计》第9周学习总结

      20155314 2016-2017-2 《Java程序设计》第9周学习总结

代码托管

(statistics.sh脚本的运行结果截图)

20155314 2016-2017-2 《Java程序设计》第9周学习总结

20155314 2016-2017-2 《Java程序设计》第9周学习总结

上周考试错题总结

本周依然采用在蓝墨云班课上考试的形式,在25分钟的时间里需要作答26道选择题,而且还有不少多选题,甚至大多都是程序分析题,一道一道敲到电脑上再去运行肯定是来不及的(>_<),更要命的是很多题不去跑程序的话我根本无从下手(>o<)所以还是老老实实学扎实才是万全之策啊~

  • Linux中使用cp命令拷贝目录时要加上()选项。

    • A .-r
    • B .-directory
    • C .-all
    • D .-R

    正确答案: A D

    你的答案: A

    分析:要成功复制目录需要加上 -r 或者 -R 参数,表示递归复制

  • 正则表达式”(‘|”)(.*?)\1”匹配 “'Hello',"World””的结果是()

    • A .不匹配
    • B .'Hello'
    • C ."World"
    • D .'Hello',"World"

    正确答案: B C

    你的答案: D

    分析:反向引用 \1 代表第一个()中的匹配内容

  • 正则表达式 zo* 匹配()

    • A .z
    • B .zo
    • C .zoo
    • D .zooooooooooooooooooooooooooo

    正确答案: ABCD

    我的答案: A C

    分析:* 可以是0次

  • Suppose we have an array of String objects identified by the variable names. Which of the following for loops will not correctly process each element in the array.(假如我们有一个名为names的String对象数组,下面哪个for循环不能遍历数组中的每一个元素?)

    • A .for(int i = 0; i < names.length; i++)
    • B .for(String name : names)
    • C .for(int i = 0; i < names.length(); i++)
    • D .none of these will correctly process each element(以上都不能遍历)
    • E .all of these will correctly process each element(以上都能遍历)

    正确答案: C

    我的答案: E

    分析:Choice c will not process each element correctly due to a syntax error. The length variable is not a method and, therefore, does not have parenthesis after it. Choice b is an example of using a foreach loop to process an array, and choice a is a correct for loop.

  • Which of the statements is true about the following code snippet?(对于下面的代码段,说法正确的是?)

       int[] array = new int[25];
    array[25] = 2;
    • A .The integer value 2 will be assigned to the last index in the array.(整数2会赋给数组中最后一个元素)

    • B .The integer value 25 will be assigned to the second index in the array.(整数25会赋给数组中的第2个索引)

    • C .The integer value 25 will be assigned to the third value in the array. (整数25会赋给数组中的第3个元素)

    • D .This code will result in a compile-time error.(代码会产生编译时错误)

    • E .This code will result in a run-time error. (代码会产生运行时错误)

    正确答案: E

    我的答案: A

    分析:This code will throw an ArrayIndexOutOfBoundsException, since the last index in this array will be 24. This causes a run-time error.

结对及互评

评分标准

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

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

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

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

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

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

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

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

点评模板:

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

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

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

  • 参考示例

点评过的同学博客和代码

感悟

唉,今天是我心爱♥的macbook进水一周纪念日QwQ,回想起一周前的那晚还是心有余悸、难以释怀……在这没有mac的一周时光里,我竟然苟延残喘地依赖着别人家的电脑奇迹般地活了过来并且奇迹般地貌似顺利完成了所有学习任务QwQ在此必须要点名感谢一波20155332盛照宗同学的雪中送炭无偿提供他的lenovo来供我学习以及20145320周岐浩学长在周三java当堂考试时慷慨地借出他钟爱的笔记本电脑~不过话说回来用了一周照宗同学的电脑让我着实体会了一波以前从未体验过的Windows10系统,还算比较顺手耶,这很大程度上消除了一直以来win10给我各方面都不太好的印象( •̀ ω •́ )y谁再说win10辣鸡我可要打他了啊ε=( o`ω′)ノ不过无论如何我也摆脱不了对mac的思念♥♥坐等五一回家保修ing......。┭┮﹏┭┮。

革命尚未成功,同志仍需努力!

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 20篇 300小时
第一周 34/34 1/4 12/12
第二周 360/394 1/5 16/28
第三周 701/1018 1/6 19/ 47 代码量激增( ̀⌄ ́)
第四周 608/1375 1/7 18/55 ①蹭了一节张健毅老师的Java课;②自己将数据结构课上所学的排序算法除了基数排序之外全部用C语言实现了一遍(`_´)ゞ;③本次博客史无前例的长:)
第五周 1205/2580 1/8 9/64 蹭了一节张健毅老师的Java课
第六周 826/3339 1/9 8/72
第七周 3119/6476 2/11 13/85 ①蹭了一节张健毅老师的Java课;②在写了无数篇实验报告之后还写了两篇博客!!
第八周 / 1/12 10/95
第九周 / 2/14 12/107 本周又写了两篇博客!
  • 计划学习时间:10小时

  • 实际学习时间:12小时

参考资料