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

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格式化日期和数字html

    第十五章

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

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

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

    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位身份证号

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

  • 问题1:在调试example8_7时,输出不能获得书上所说的:“好”“java你”
    编码

  • 问题1解决:由于机器的默认编码不是GB2312
  • 问题2:在调试example8_23时,出现使用过时的API提示
  • 问题2解决:和上周遇到的状况相同,不用编译,直接运行便可
  • 问题3,:在调试example15_8时,抛出Exception in thread "main" java.lang.NoSuchMethodError异常
    .net

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

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

    代码托管

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

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

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

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 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

参考资料

相关文章
相关标签/搜索