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 的相关知识博客链接
代码托管 https://gitee.com/cjy-123/cjy7
(仓库出了一点问题, 重新建了一个仓库)
上周考试错题总结
无
其他(感悟, 思考等, 可选)
总结分析了一下第三周做得课下测试题:
博客链接 https://www.cnblogs.com/cjy-123/p/10689022.html
学习进度条
代码行数(新增 / 累积) | 博客量(新增 / 累积) | 学习时间(新增 / 累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000 行 | 30 篇 | 400 小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |
计划学习时间: 18 小时
实际学习时间: 18 小时
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表 http://www.cnblogs.com/xinz/p/3852177.html )
参考资料
Java 学习笔记(第 8 版) http://book.douban.com/subject/26371167/
《Java 学习笔记(第 8 版)》学习指导 http://www.cnblogs.com/rocedu/p/5182332.html
...
来源: http://www.bubuko.com/infodetail-3021083.html