20165223 《JAVA程序设计》第六周学习总结
教材学习内容总结
第八章-常用实用类-要点
- 基础:String类
- 重点:StringTokenizer类,Scanner类
- 难点:Class类与Console类,Pattern类与Match类
- 其他特殊类:StringBuffer类,Date类与Calendar类,日期格式化,Math类,BigInteger类,Random类,数字格式化
第十五章-泛型与集体框架-要点
- 泛型
- 链表
- 堆栈
- 散列映射
- 树集
- 树映射
教材学习中的问题和解决过程
- String类
- 在java.lang包中,默认引入
- 被定义为final类,不能拓展,无子类
- 构造String对象
- String对象=字符串对象
- 常量对象:常量池
- String对象:非常量池
- String、new类声明
- 不能输出String对象的引用,只能输出对象的实体
- 可以用已创建的String对象创建另一个String对象
- 常用构造方法
- String(char a[])
- String(Char a[], int startIndex, int count)//所选数组,起始位置,取的数量
- 引用String常量
- 可以把String常量的引用赋值给一个String对象(常量池→非常量池),具有相同的引用→具有相同的实体
- String对象=字符串对象
- 字符串并置:"+",首尾相连的新String对象
- 两个常量并置→常量
- 其中一个是变量/都是变量→在动态存放区(非常量池)得到新的String对象实体和引用
- 更重视两个String对象的实体
- String类的常用方法
- public int length():获取字符序列长度
- public boolean equals(String s):比的是字符序列
- public boolean startsWith(String s):判断前缀
- public boolean endsWith(String s):判断后缀
- public int compareTo(String s):按字典序比较字符序列大小,=s返回0,>s返回正值,<s返回负值
- public boolean contains(String s):判断当前字符序列是否包含参数s的字符序列
- public int indexOf(String s):从当前序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置;若无则返回-1
- public int lastIndexOf(String s):从当前序列的0索引位置开始检索最后一次出现str的字符序列的位置,并返回该位置;若无则返回-1
- public String substring(int startpoint):复制startpoint位置至最后位置上的字符所得到的字符序列
- substring(int start,int end):复制从start位置到end-1位置上的字符序列
- public String trim():去掉前后空格后的字符序列
- 对象的字符串表示:toString()
- 字符串与字符数组、字节数组:getChar()
- 正则表达式及字符串的替换与分解
元字符 | 正则表达式 | 意义 |
---|---|---|
. | . | 任意字符 |
\d | \d | 0~9中任意数字 |
\D | \D | 任意非数字字符 |
\s | \s | 空格类字符 |
\S | \S | 非空格类字符 |
\w | \w | 可用于标识符的字符(除$) |
\W | \W | 不能用于标识符的字符 |
代码调试中的问题和解决过程
- Q1:在Example8_4.java中,运行后发现结果是sum=0?
解答:之前未曾使用过main方法的参数,args[]可以接受用户从键盘输入字符序列,需要用java.exe来执行主类,加入引用才能得出sum值,否则就是初始的0.0
- Q2:在Example8_7.java中,运行后出现了乱码?
解答:IDEA问题,中文乱码,根据百度经验解决了问题
- Q3:在Example8_9.java中,代码无法运行?
解答:确少import java.util.Scanner;并且与其他类冲突,更正后成功
- Q4:在Example8_21中,出现如图问题,无法键盘输入密码?
解答:没找出来,后来在命令行中尝试发现正确(?)
思考与感悟
本周的这两章不算特别困难,听网课的老师讲解已经很清楚了,大部分只需要了解掌握即可,只需要抓住重难点就行。主要学习了java函数库里的各种函数,方便了之后写代码时调用,节省时间,简洁代码。
错题总结
答案未出,之后再补充详细总结
代码托管
详见博客:https://gitee.com/BESTI-IS-JAVA-2018/20165223cn.git
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3000行 | 30篇 | 400小时 | |
第六周 | 1324/200 | 2/11 | 20/20 | 深入 |