20175230 2018-2019-1 《Java程序设计》第七周学习总结
教材内容总结
String
- Java专门提供了用来处理字符序列的String类。String类在java.lang包中,由于java.lang包中的类被默认引入,因此程序可以直接使用String类。需要注意的是Java把String类声明为final类,因此用户不能扩展String类,即String类不可以有子类。
- 构造String对象
String对象,习惯地被翻译为字符串对象。
(1)可以使用String类声明对象并创建对象,例如String s = new String("we are student");
(2)String常量是对象,因此可以把String常量的引用赋值给一个String对象,例如
String s1,s2; s1 = "你好"; s2 = "你好";
- 字符串的并置
- String类的常用方法
public int length():获取一个字符串的长度
public boolean equals(String s):判断当前String对象的字符序列是否与参数s指定的String对象的字符序列相同
public boolean startsWith(String s)判断当前String对象的字符序列前缀是否是参数指定的String对象s的字符序列
public int compareTo(String s):按字典序与参数s指定的字符序列比较大小
public boolean contains(String s):String对象调用contains方法判断当前String对象的字符序列是否包含参数s的字符序列
public int indexOf (String str):String对象调用方法从当前String对象的字符序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是–1
public String substring(int startpoint):字符串对象调用该方法获得一个新的String对象,新的String对象的字符序列是复制当前String对象的字符序列中的startpoint位置至最后位置上的字符所得到的字符序列
public String trim() :得到一个新的String对象,这个新的String对象的字符序列是当前String对象的字符序列去掉前后空格后的字符序列
- 字符串与基本数据的相互转化
Java.lang包中的Integer类调用其类方法:
public static int parseInt(String s)
可以将由“数字”字符组成的字符串,如“876”,转化为int型数据
String s = “876";
x = Integer.parseInt(s); ```
- 对象的字符串表示
Object类有一个 public String toString()方法,一个对象通过调用该方法可以获得该对象的字符序列表示。一个对象调用toString()方法返回的String对象的字符序列的一般形式为:
创建对象的类的名字@对象的引用的字符串表示
- 字符串与字符数组、字节数组
- 正则表达式及字符串的替换与分解
正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义字符,这些特殊字符称做正则表达式中的元字符
###StringTokenizer类
- 当分析一个String对象的字符序列并将字符序列分解成可被独立使用的单词时,可以使用java.util包中的StringTokenizer类,该类有两个常用的构造方法。
- ```StringTokenizer(String s):```
- ```StringTokenizer(String s, String delim):```
###Scanner类
- Scanner对象
Scanner对象可以解析字符序列中的单词
###StringBuffer类
- StringBuffer对象
- 与String类不同,StringBuffer类的对象的实体的内存空间可以自动地改变大小,便于存放一个可变的字符序列
- StringBuffer类有三个构造方法:
StringBuffer()
StringBuffer(int size)
StringBuffer(String s)
- StringBuffer类的常用方法
- 1.append方法
- 2.public char charAt(int n)和public void setCharAt(int n , char ch)
- 3.StringBuffer insert(int index, String str)
- 4.public StringBuffer reverse()
- 5.StringBuffer delete(int startIndex, int endIndex)
- 6.StringBuffer replace( int startIndex ,int endIndex, String str)
###Date与Calendar类
- Date类
- 1.使用无参数构造方法
- 2.使用带参数的构造方法
- Calendar类
- Calendar类在java.util包中。使用Calendar类的static方法getInstance()可以初始化一个日历对象
###日期的格式化
- format方法
```format(格式化模式,日期列表);```
- 不同区域的星期格式
``` format(Locale locale,格式化模式,日期列表);```其中的参数locale是一个Locale类的实例,用于表示地域
###Math、BigInteger和Random类
- Math类
在编写程序时,可能需要计算一个数的平方根、绝对值或获取一个随机数等。以下是Math类的常用类方法。
- public static long abs(double a) 返回a的绝对值。
- public static double max(double a,double b) 返回a、b的最大值。
- public static double min(double a,double b) 返回a、b的最小值。
- BigInteger类
BigInteger类的常用方法
- public BigInteger add(BigInteger val) 返回当前对象与val的和。
- public BigInteger subtract(BigInteger val) 返回当前对象与val的差。
- public BigInteger multiply(BigInteger val) 返回当前对象与val的积。
- Random类
使用Random类的如下构造方法
````public Random();
public Random(long seed);````创建Random对象
###数字格式化
- format方法
程序可以使用String类调用format方法对数字进行格式化。
- 格式化整数
1.%d,%o,%x和%X
2.修饰符
3.数据的宽度
- 格式化浮点数
1.float、Float、double 和Double %f,%e(%E),%g(%G)和%a(%A)格式符可格式化float、Float、double和Double。
2.修饰符
3.限制小数位数与数据的“宽度”
###Class类与Console类
- class类
使用Class的类方法得到一个和某类(参数className指定的类)相关的Class 对象
- Console类
###Pattern与Matcher类
- 使用Pattern类和Matcher的步骤如下。
1.建立Pattern对象
2.得到Matcher对象
-
##代码调试中的问题与解决方法
- 问题一 example8_7出现如下错误
![](https://img2018.cnblogs.com/blog/1592136/201904/1592136-20190413152053817-1478520199.png)
![](https://img2018.cnblogs.com/blog/1592136/201904/1592136-20190413162753143-579923156.png)
- 问题一解决方法 在Linux系统和windows的IDEA中无法正常运行,但在windows系统的命令提示符中可以正常运行,没有找到解决方法
![](https://img2018.cnblogs.com/blog/1592136/201904/1592136-20190413153435412-1301635442.png)
- 问题二 在Linux系统的终端里,输入密码时,已经输入的密码不显示出来,无法知道输入的密码是否正确
![](https://img2018.cnblogs.com/blog/1592136/201904/1592136-20190413164259698-238641783.png)
- 问题三 在IDEA中,调试时无法打开属性框,做实验时,也无法打开设置
- 问题三解决方法 经过将自己的IDEA与他人的IDEA对比,发现我刚安装IDEA时进行了汉化处理,于是我删除了汉化包,然后IDEA可以正常使用了
##[代码托管](https://gitee.com/tx20175230/20175230)
![](https://img2018.cnblogs.com/blog/1592136/201904/1592136-20190413165522068-1338517635.png)