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的相关知识博客链接
代码托管
(仓库出了一点问题,重新建了一个仓库)
上周考试错题总结
- 无
其他(感悟、思考等,可选)
总结分析了一下第三周做得课下测试题:
博客链接
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 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小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)