20165230 2017-2018-2 《Java程序设计》第6周学习总结

时间:2023-12-25 15:19:37

20165230 2017-2018-2 《Java程序设计》第6周学习总结

教材学习内容总结

第八章 常用使用类

  • String类常用方法
  1. public int length()
  2. public boolean equals(String s)
  3. public boolean startsWith(String s) public boolean endsWith(String s)
  4. public int compareTo(String s)
  5. public boolean contains(String s)
  6. public int indexOf(String s) public int lastIndexOf(String s)
  7. public String substring(int startpoint)
  8. public String trim()
  • String类与StringBuffer类不同:
    StringBuffer类的对象的实体的内存空间可以自动的改变大小
  • 使用StringTokenizer、Scanner类分析字符序列,获取字符序列中被分隔符分割的单词
  • 使用Date类和Calendar类处理时间
  • 使用BigInteger类处理特别大的整数
  • 使用String类的static方法format格式化日期和数字

    第十五章

  • 声明泛型类:class 名称<泛型列表>
  • 使用泛型类声明对象时,必须要用具体类型替换泛型列表中的泛型
  • LinkedList泛型类创建的对象以链表结构存储数据
  • Stack泛型类创建堆栈对象,堆栈的数据“先入后出”,堆栈在顶端进行数据的输入输出操作
  • HashMap<K,V>泛型类创建散列映射,采用散列表结构存储数据,用于存储键/值数据对。
  • TreeSet类创建树集,树集节点的排列不按先后顺序排列,当实现Comparable接口类创建的对象时,结点按对象的大小关系升序排列
  • TreeMap<K,V>类创建树映射,树映射的结点存储键/值对,保证结点按结点中的键升序排列。

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

  • 问题1:String类中的equals方法与contains方法有什么区别?
  • 问题1解决:通过网上查询了解到

    equals是判断字符串的是不是相等,例如:"abc".equals("abc"),返回结果是Boolean类型的true
    "abc".equals("ab")返回结果是Boolean类型的false
    contains是包含的意思,例如:"abc".contains("a"),返回结果是Boolean类型的true
    "abc".contains("d"),返回结果是Boolean类型的false.
    contains包含包括,"abc".contains("abcd")是返回的false

  • 问题2:正则表达式知识点的扩充
  • 问题2解决:

  1. \w表示词的一个字符
  2. ^[\u0391-\uFFE5]+$表示一个或多个汉字
  3. ^1[3|4|5|8][0-9]\d{8}$表示手机号码。电话号码前三位的括号,需要利用转义符“”,在java中需再次转义
  4. ^[A-Za-z][A-Za-z1-9_-]+$表示:用户名(字母开头 + 数字/字母/下划线)
  5. ^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$表示18位身份证号
    20165230 2017-2018-2 《Java程序设计》第6周学习总结
    20165230 2017-2018-2 《Java程序设计》第6周学习总结

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

  • 问题1:在调试example8_7时,输出不能得到书上所说的:“好”“java你”
    20165230 2017-2018-2 《Java程序设计》第6周学习总结

  • 问题1解决:因为机器的默认编码不是GB2312
  • 问题2:在调试example8_23时,出现使用过期的API提示
  • 问题2解决:和上周遇到的情况相同,不用编译,直接运行即可
  • 问题3,:在调试example15_8时,抛出Exception in thread "main" java.lang.NoSuchMethodError异常
    20165230 2017-2018-2 《Java程序设计》第6周学习总结

  • 问题3解决:在网上查询得知该异常抛出的情况:

    (1).第一个常见原因jar包中确实没有这个方法,所以虚拟机根本没有加载这个方法。
    (2).第二个常见原因是jar包冲突了。导致虚拟机不知道加载哪一个,所以就导致了加载失败,从而找不到这个方法。
    (3).第三个,也许就是包含在第二种情况中,该方法只有抽象定义,而没有具体实现。

    代码托管

    https://gitee.com/BESTI-IS-JAVA-2018/20165230/commit/5dd42538867b45b2b037b6d2039c2cf622fd26d9

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

  • 本周学习任务较重,基础内容有点跟不上,再加上清明假期没有对之前落下的知识进行弥补,有些吃力。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 13/13 1/30 19/19
第二周 426/426 3/30 12/12
第三周 562/562 4/30 15/15
第四周 1552/1958 5/30 16/16
第五周 1123/3086 6/30 14/14

参考资料