第七周学习总结-20175218

20175218 2018-2019-2 《Java程序设计》第七周学习总结

教材学习内容总结

  • 第八章主要讲的是常用实用类,包括String类,StringTokenizer类,Scanner类,StringBuffer类,Date类与Calendar类,日期格式化,Math类、BigInteger类与Random类,数字格式化,Class类与Console类,Pattern类与Match类。
  • String类是Java专门用来处理字符序列的一个类。在Java中,把String类定义为final类,所以用户不能扩展String类,即String类不可以有子类。
  • String类两个常用的构造方法:
    • String (char a[])用一个字符数组a创建一个String对象。
    • String (char a[],int startIndex,int count)提取字符数组a中的一部分字符创建一个String对象,参数startIndex 和 count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数。
  • String类的常用方法:
    • public int length()
    • public boolean equals(String s)
    • public boolean startsWith(String s)、 public boolean endsWith(String s)方法
    • public int compareTo(String s)方法
    • public boolean contains(String s)
    • public int indexOf (String s)和public int lastIndexOf(String s)
    • public String substring(int startpoint)
  • StringTokenizer对象用来分解String对象的字符序列。
  • StringTokenizer类的两个常用构造方法:
    • StringTokenizer(String s): 为String对象s构造一个分析器。使用默认的分隔标记,即空格符、换行符、回车符、Tab符、进纸符做分隔标记。
    • StringTokenizer(String s,String delim): 为String对象构造一个分析器。参数delim的字符序列中的字符的任意排列被作为分隔标记。
  • Scanner类的对象从字符序列中解析出程序所需要的数据。
  • StringTokenizer类和Scanner类都可以用来分解字符序列中的单词,但是StringTokenizer对象能较快速度获得单词,即StringTokenizer对象的实体占用较多的内存;而Scanner对象获得单词的速度相对较慢,却能够节省内存空间。
  • StringBuffer类的对象的实体的内存空间可以自动地改变大小,便于存放一个可变的字符序列。
  • StringBuffer类的三个构造方法:
    • StringBuffer();
    • StringBuffer(int size);
    • StringBuffer(String s)。
  • Date类与Calendar类都可用于处理和日期、时间相关的数据。其中,使用Date类的无参数构造方法创建的对象可以获取本机的当前日期和时间;使用Calendar类的static方法getInstance()可以初始化一个日历对象。
  • 可以直接使用String类调用format方法对日期进行格式化。
  • Math类包含许多用来进行科学计算的static方法,而这些方法都可以直接通过类名调用。如果需要处理特别大的整数,可以用BigInteger类的对象。Random类可以更为灵活地获取随机数。
  • Class类的实例可以帮助程序创建其他类的实例。而Console类的作用就是,如果在键盘输入一行文本,但是不想让文本回显,即不在命令行显示,就需要用Console类的对象来完成。
  • Pattern类和Matcher类专门用来进行模式匹配。

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

  • 问题1:在正则表达式中,“.”代表任何一个字符,如何只让它仅仅表示简单的点字符

  • 问题1解决方案:可以使用[.]或者\56,这样就可以表示普通意义上的点字符

  • 问题2:在格式化输入中,%号是必要的一个符号,但是如何打出%,而不是作为%d或%o之类

  • 问题2解决方案:在格式化编写代码时,如果连续输入两个%,那么就可以输入一个%了

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

  • 问题1:第八章的例子4,for(String s:args),不太理解这样的for循环

  • 问题1解决方案:通过上网查询得知,for(String s : args)这个格式是foreach的形式,表示取出数组args[]中的每一个元素,就是循环一次就依次取出一个元素赋值给s,知道取完为止。
    具体链接

  • 问题2:第八章的例子4,对于try(...)这个语句不太了解

  • 问题2解决方案:查询资料得知,try{}是用来捕捉异常的,然后也仔细地去了解了一下try。
    通过这篇博客,学习了try的相关知识博客链接

代码托管

(仓库出了一点问题,重新建了一个仓库)
statistics脚本运行截图

上周考试错题总结

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

总结分析了一下第三周做得课下测试题:
博客链接

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/1 24/24
第二周 400/600 1/2 15/39
第三周 600/1200 1/3 18/57
第四周 700/1900 1/4 18/75
第五周 800/2700 5/9 18/93
第六周 800/3500 3/12 28/121
  • 计划学习时间:18小时

  • 实际学习时间:18小时

  • 改进情况:

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

参考资料

posted @ 2019-04-12 21:52  20175218陈敬勇  阅读(116)  评论(0编辑  收藏  举报