内容正文:
数组、字符串、包(二)
计算机程序设计
专题复习讲练测
电工版第二版
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
考纲要求
一
考试内容:
字符串;包。
知识点要求:
4.掌握String类字符串的基本操作:字符串创建、字符串长度、获取字符、字符串索引、求子字符串、字符串的比较、字符串的拆分、字符的替换;掌握StringBuffer类字符串的基本操作:StringBuffer对象创建、字符串追加、字符串中插入字符、字符串替换。
5.掌握包的声明及package语句;掌握包的导入及import语句。
知识点梳理
二
字符串
在Java中,字符串的类型是 String。
String 类在 java.lang 包中定义,因此不需要被导入就可以直接使用。
Java中的 String 对象是不可变的,这意味着一旦创建了 String 对象,就不能更改它包含的字符序列。
知识点梳理
二
字符串的类型
(1)字符串常量
字符串常量是指其值保持不变的量,是位于一对双引号之间的字符序列,如“hello”
(2)字符串变量
字符串变量的声明和初始化通过String类实现。格式:
String 字符串变量;
字符串变量 = new String();
String 字符串变量=new String();
知识点梳理
二
字符串的类型
字符串赋值
声明并初始化字符串变量之后,便可以为其赋值。既可以赋值一个字符串常量,也可以 赋值一个字符串变量或表达式。
知识点梳理
二
字符串的常见操作
(1)访问字符串
① length()
用于获取字符串的长度,即字符串中包含的字符数。这个方法是由 String 类提供的,因此可以对任何 String 对象调用 length() 方法。
知识点梳理
二
字符串的常见操作
(1)访问字符串
② char charAt(int index)
String 类的 charAt(int index) 方法用于返回字符串中指定索引处的字符。索引范围从 0 开始到 length() - 1。如果指定的索引超出范围,这个方法将抛出 StringIndexOutOfBoundsException。
知识点梳理
二
字符串的常见操作
(1)访问字符串
③ indexOf(Stringstr)
String 类的 indexOf(String str) 方法用于返回指定子字符串在字符串中第一次出现的索引。如果字符串中不包含该子字符串,则返回 -1。
参数:这个方法接受一个 String 类型的参数 str,表示要查找的子字符串。
返回值:返回一个 int 类型的值,表示子字符串在原字符串中第一次出现的索引位置。如果未找到子字符串,则返回 -1。
知识点梳理
二
字符串的常见操作
(1)访问字符串
④ substring(int index1,int index2)
String 类的 substring(int index1, int index2) 方法用于提取字符串中介于两个指定索引之间的子字符串。
参数:
index1:子字符串的起始索引(包含)。
index2:子字符串的结束索引(不包含)。
返回值:返回一个 String 对象,该对象是从原字符串中提取的子字符串,从 index1 开始到 index2 - 1 结束。
知识点梳理
二
字符串的常见操作
(2)字符串比较
① equal(Object obj)
equals(Object obj) 是 Object 类的一个方法,它用于比较两个对象是否相等。在 Object 类中,equals() 方法默认实现是比较两个对象的引用是否相同,即它们是否指向同一个对象。
参数:这个方法接受一个类型为 Object 的参数 obj,表示要与之比较的对象。
返回值:返回一个 boolean 值,如果调用该方法的对象与参数 obj 相等,则返回 true;否则返回 false。
知识点梳理
二
字符串的常见操作
(2)字符串比较
② compareTo(Stringstr)
compareTo(String str) 是 String 类的一个方法,按照字典顺序比较两个字符串,并返回一个整数值,指示第一个字符串与第二个字符串的相对顺序。
参数:这个方法接受一个 String 类型的参数 str,表示要与之比较的字符串。
返回值:返回一个 int 类型的值,有以下三种可能的结果:
如果调用该方法的字符串小于参数字符串,返回一个小于 0 的整数。
如果调用该方法的字符串等于参数字符串,返回 0。
如果调用该方法的字符串大于参数字符串,返回一个大于 0 的整数。
知识点梳理
二
字符串的常见操作
(3)字符串的其他操作
① split(String regex)
split(String regex) 是 String 类的一个方法,根据匹配给定的正则表达式来拆分字符串,并返回一个字符串数组。
参数:这个方法接受一个 String 类型的参数 regex,是一个正则表达式。字符串根据这个正则表达式的匹配结果进行拆分。
返回值:返回一个 String 类型的数组,包含拆分后的子字符串。如果字符串与正则表达式不匹配,返回的数组将包含原始字符串作为唯一元素。
知识点梳理
二
字符串的常见操作
(3)字符串的其他操作
② replace(charoldChar,char newChar)
在Java中,replace(char oldChar, char newChar) 是 String 类的一个方法,返回一个新的字符串,是通过将原字符串中出现的所有 oldChar 字符替换为 newChar 字符而生成的。
参数:
oldChar:需要被替换的字符。
newChar:用于替换 oldChar 的新字符。
返回值:返回一个新的 String 对象,其中所有出现的 oldChar 都被 newChar 替换。
这个方法不会改变原字符串,因为 String 对象是不可变的。
知识点梳理
二
StingBuffer 类
在Java中,StringBuffer 类是一个可变的字符序列。
与 String 类不同,StringBuffer 类的对象可以被修改,即可以添加字符、删除字符或更改现有字符。
StringBuffer 类位于 Java.lang 基础包中,不需要导包。
知识点梳理
二
StringBuffer对象的创建
在Java中,创建 StringBuffer 对象可以通过几种不同的构造方法来实现。
(1)无参构造方法:创建一个空的 StringBuffer 对象,其初始容量默认为16个字符。
StringBuffer sb = new StringBuffer();
(2)带字符串参数的构造方法:创建一个包含指定字符串内容的 StringBuffer 对象,其初始容量为字符串长度加上16。
StringBuffer sb = new StringBuffer("Hello World");
(3)带容量的构造方法:创建一个空的 StringBuffer 对象,并指定其初始容量。
StringBuffer sb = new StringBuffer(32); // 初始容量为32个字符
知识点梳理
二
StringBuffer类的常用方法
① append(Stringstr)
StringBuffer 类的 append(String str) 方法用于将指定的字符串 str 追加到 StringBuffer 对象的末尾。这个方法会改变 StringBuffer 对象的内容,因为它是一个可变对象。
参数:这个方法接受一个 String 类型的参数 str,表示要追加的字符串。
返回值:该方法返回调用它的 StringBuffer 对象的引用,因此可以链式调用其他 StringBuffer 方法。
知识点梳理
二
StringBuffer类的常用方法
② insert(int offset,Stringstr)
StringBuffer 类的 insert(int offset, String str) 方法用于将指定的字符串 str 插入到 StringBuffer 对象中指定的位置 offset。这个方法会改变 StringBuffer 对象的内容。
参数:
offset:这是一个整数,指定字符串插入的位置,索引从 0 开始。
str:这是要插入的字符串。
返回值:该方法返回调用它的 StringBuffer 对象的引用,因此可以链式调用其他 StringBuffer 方法。
知识点梳理
二
StringBuffer类的常用方法
③ toString()
StringBuffer 类的 toString() 方法用于将 StringBuffer 对象转换为其对应的 String 对象。这个方法返回一个新的 String 对象,其中包含 StringBuffer 对象中的所有字符。
返回值:该方法返回一个新的 String 对象,包含 StringBuffer 对象中的所有字符。
不改变原对象:调用 toString() 方法不会改变原始的 StringBuffer 对象。
知识点梳理
二
StringBuffer类的常用方法
④ replace(int start,Stringstr)
StringBuffer 类的 replace(int start, int end, String str) 方法用于用指定的字符串 str 替换 StringBuffer 对象中从索引 start 到索引 end 之间的子字符串。这个方法会改变 StringBuffer 对象的内容。
参数:
start:这是开始替换的索引,索引从 0 开始。
end:这是结束替换的索引,即替换子字符串的最后一个字符的索引。
str:这是要替换的子字符串。
返回值:该方法返回调用它的 StringBuffer 对象的引用,因此可以链式调用其他 StringBuffer 方法。
知识点梳理
二
StringBuffer类的常用方法
⑤ substring(intstart,intend)
StringBuffer 类的 substring(int start, int end) 方法用于返回一个新的 StringBuffer 对象,通过从原 StringBuffer 对象中提取从索引 start 到索引 end 之间的子字符串而生成的。
参数:
start:这是子字符串的起始索引,索引从 0 开始。
end:这是子字符串的结束索引,即提取的子字符串的最后一个字符的索引。
返回值:返回一个新的 StringBuffer 对象,包含原 StringBuffer 对象中从 start 到 end 之间的子字符串。
知识点梳理
二
StringBuffer类的常用方法
⑥ delete(intstart,intend)
StringBuffer 类的 delete(int start, int end) 方法用于删除 StringBuffer 对象中从索引 start 到索引 end 之间的子字符串。这个方法会改变 StringBuffer 对象的内容。
参数:
start:这是开始删除的索引,索引从 0 开始。
end:这是结束删除的索引,即删除子字符串的最后一个字符的索引。
返回值:该方法返回调用它的 StringBuffer 对象的引用,因此可以链式调用其他 StringBuffer 方法。
知识点梳理
二
package
package 是一个关键概念,用于组织类和接口,并帮助避免命名冲突。每个Java源文件都位于一个包中,包的名称通常与源文件所在的文件夹名称相对应。
注意事项:
① package一定要在整个类定义的第一行。
② 包名之间一定要用“.”隔开,例如:com.javait.org,则在文件系统中需要建立三个目录。
③ 在定义package的时候,包名全部要小写。
④ 程序定义package 关键字,则系统就会自动建好每一个目录的说法是不正确的。
知识点梳理
二
import
import 语句用于导入其他包中的类、接口和枚举。import 语句可以直接使用这些类型,而不需要完整地指定它们的完全限定名。
注意事项:
① 如果代码中有package关键字,则import关键字应该在package关键字定义的后面。
② 如果在代码中想引用不在同一个目录的其他 Java类,则必须使用import关键字。
③ import 关键字还有一些简写形式,例如:import java.util.*;"*"代表包下面的所有 Java 类。
限时练习
三
1. 下列关于Java中String对象的描述,错误的是()
A. String对象是不可变的,一旦创建就无法修改
B. 可以通过String类的构造方法创建String对象
C. String对象可以使用equals()方法比较内容是否相同
D. String对象可以使用+=运算符进行拼接
【答案】D
【解析】String对象不可变,因此不能使用+=运算符进行拼接,需要使用StringBuilder或StringBuffer类。
限时练习
三
2. String类的charAt()方法的作用是( )
A. 获取字符串的长度
B. 返回指定索引处的字符
C. 比较两个字符串是否相等
D. 替换字符串中的字符
【答案】B
【解析】 charAt()方法用于返回字符串中指定索引处的字符。
限时练习
三
3. 以下方法不能用于获取字符串中子字符串的位置的是( )
A. indexOf() B. substring()
C. lastIndexOf() D. compareTo()
【答案】D
【解析】 compareTo()方法用于比较两个字符串的字典顺序,不用于获取子字符串的位置。
限时练习
三
4StringBuffer类的append()方法的作用是( )
A. 插入字符串到指定位置
B. 删除字符串中的子字符串
C. 将字符串追加到末尾
D. 替换字符串中的字符
【答案】C
【解析】 append()方法用于将字符串追加到StringBuffer对象的末尾。
限时练习
三
5. 以下( )关键字用于导入其他包中的类。
A. package B. class
C. import D. interface
【答案】C
【解析】 import关键字用于导入其他包中的类、接口和枚举。
限时练习
三
6.Java中的String对象是不可变的,意味着一旦创建就不能更改其内容。( )
【答案】正确
【解析】 Java中String对象的核心特性。一旦创建String对象,其包含的字符序列就不能被修改。任何看似修改String对象内容的操作,实际上都是创建了一个新的String对象。
限时练习
三
7. String类的indexOf()方法返回指定子字符串在字符串中最后一次出现的索引。( )
【答案】错误
【解析】 String类的indexOf()方法返回指定子字符串在字符串中第一次出现的索引。如果要获取最后一次出现的索引,可以使用lastIndexOf()方法。
限时练习
三
8.StringBuffer类的对象是可变的,可以进行添加、删除和修改操作。( )
【答案】正确
【解析】StringBuffer类的对象与String类不同,它是可变的。这意味着可以对其内容进行添加、删除和修改操作,而不需要创建新的对象。
限时练习
三
9.在Java中,可以使用“import java.*”来导入Java库中所有的类。( )
【答案】错误
【解析】在Java中,不能使用“import java.”来导入Java库中所有的类。正确的做法是使用“import java.util.”来导入util包中的所有类,或者其他特定的包。
限时练习
三
10.在 Java 中,String 类的( ) 方法用于返回字符串中指定索引处的字符。
【答案】charAt(int index)
11.String 类的( ) 方法用于返回指定子字符串在字符串中第一次出现的索引。
【答案】indexOf(String str)
限时练习
三
12.String 类的 ( )方法用于比较两个字符串是否相等
【答案】equals(Object obj)
13.String 类的 ( )方法用于提取字符串中介于两个指定索引之间的子字符串。
【答案】substring(int index1, int index2)
限时练习
三
14. 编写 Java 程序,声明一个 String 变量并初始化为 “Hello World”,然后输出该字符串的长度。
【答案】
限时练习
三
15. 编写 Java 程序,声明两个 String 变量并分别初始化为 “Hello” 和 “World”,然后使用 equals 方法判断这两个字符串是否相等,并输出结果。
【答案】
限时练习
三
16. 编写 Java 程序,声明一个 String 变量并初始化为 “Hello World”,然后使用 indexOf 方法查找子字符串 “World” 在该字符串中第一次出现的索引,并输出结果。
【答案】
限时练习
三
17. 编写 Java 程序,声明一个 String 变量并初始化为 “Hello World”,然后使用 substring 方法截取从索引 6 到索引 11 的子字符串,并输出结果。
【答案】
内容小结
五
谢谢
$$