首页/ 学科题库/ java/ 字符串专题
java 专题精讲

字符串专题

1 篇文章 24 道配套习题

字符串专题

专题说明

本专题系统讲解 Java 字符串的核心知识点,从基础概念到性能优化,帮助开发者建立完整的字符串知识体系。

学习目标

  1. 理解 String 的不可变性及其影响
  2. 掌握字符串常用方法的使用
  3. 正确使用字符串比较方式
  4. 了解字符串拼接性能差异,合理选择拼接方式
  5. 掌握 StringBuilder 与 StringBuffer 的使用场景
  6. 熟练进行字符串与字符数组的相互转换
  7. 掌握正则表达式在字符串处理中的应用

学习内容

本专题涵盖以下知识点:

  • Java 字符串基础概念
  • 字符串不可变性原理
  • 字符串常用方法(长度、截取、查找、替换等)
  • 字符串比较(== vs equals)
  • 字符串拼接与性能优化
  • StringBuilder 与 StringBuffer 的区别与应用
  • 字符串与字符数组的转换
  • 正则表达式与字符串处理

学习建议

  1. 先理解不可变性概念,这是字符串特性的基础
  2. 重点掌握 equals() 与 == 的区别,避免常见错误
  3. 注意字符串拼接的性能问题,在大数据量场景使用 StringBuilder
  4. 正则表达式是进阶内容,建议先掌握基础方法再深入学习

配套习题(24 题)

参考答案在文末
判断题
1
判断题

编译器会将字符串常量的+拼接优化为单个字符串常量。

A

对

B

错

单选题
2
单选题

"abc".compareTo("abd")的结果是什么?

A

0

B

-1

C

1

D

true

3
单选题

"Hello".charAt(1)的结果是什么?

A

'H'

B

'e'

C

'l'

D

索引越界异常

4
单选题

比较两个字符串内容是否相同应该使用什么方法?

A

==

B

equals()

C

compare()

D

same()

5
单选题

使用+拼接字符串"Hello" + "World"的结果是什么?

A

"HelloWorld"

B

"Hello World"

C

编译错误

D

返回StringBuilder

6
单选题

StringBuilder的主要特点是什么?

A

线程安全

B

可变字符串,效率高

C

不可变字符串

D

只能存储数字

7
单选题

将字符串转换为字符数组的方法是什么?

A

getChars()

B

toCharArray()

C

chars()

D

toArray()

8
单选题

String.matches方法的作用是什么?

A

查找子串

B

判断整个字符串是否匹配正则表达式

C

替换字符

D

分割字符串

9
单选题

在循环中大量拼接字符串时,使用+会有什么问题?

A

编译错误

B

性能较差,产生大量临时对象

C

内存溢出

D

拼接结果错误

10
单选题

String类位于哪个包?

A

java.util

B

java.lang

C

java.io

D

java.text

11
单选题

" Hello ".trim()的结果是什么?

A

"Hello"

B

" Hello"

C

"Hello "

D

" Hello "

12
单选题

获取字符串长度的方法是什么?

A

size()

B

length()

C

length

D

count()

13
单选题

以下代码的输出结果是什么?

Java
String s1 = "Hello";
String s2 = "Hello";
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
A

false true

B

true true

C

false false

D

true false

14
单选题

如何正确使用字符串方法改变内容?

A

直接调用方法即可

B

必须接收方法的返回值赋给变量

C

字符串方法自动修改原对象

D

使用void方法修改

15
单选题

Java字符串的一个重要特性是什么?

A

可以修改

B

不可变(immutable)

C

可以扩容

D

可以删除字符

16
单选题

StringBuilder的append方法有什么特点?

A

创建新对象

B

在原对象上追加内容,返回自身引用

C

只能追加字符串

D

必须立即toString()

17
单选题

将字符数组转换为字符串的方法是什么?

A

new String(char[])

B

char[].toString()

C

String.valueOf(char[])

D

以上A和C都可以

18
单选题

"a1b2c3".replaceAll("\d", "X")的结果是什么?

A

"a1b2c3"

B

"aXbXcX"

C

"XXX"

D

"abc"

19
单选题

"a1b2c3".split("\d")返回什么?

A

["a", "b", "c"]

B

["a", "1", "b", "2", "c", "3"]

C

["a", "b", "c", ""]

D

["abc"]

20
单选题

以下代码创建了几个String对象?

Java
String s1 = "Hello";
String s2 = new String("Hello");
String s3 = "Hello";
A

1个

B

2个

C

3个

D

4个

21
单选题

以下哪种方式在循环拼接字符串时效率最高?

A

s += "a";

B

s = s.concat("a");

C

sb.append("a");(StringBuilder)

D

以上效率相同

22
单选题

以下关于Java字符串的说法,哪项是错误的?

A

String是不可变的,任何修改操作都返回新对象

B

字符串常量池中相同内容只存一份

C

StringBuilder是可变的,append在原对象上修改

D

使用+拼接字符串效率始终最高

简答题
23
简答题

请分析字符串拼接的几种方式及其性能特点,说明如何选择合适的拼接方式。

24
简答题

请解释String不可变性的含义,并说明为什么要设计为不可变?有什么好处?

参考答案
1.正确 2.B 3.B 4.B 5.A 6.B 7.B 8.B 9.B 10.B 11.A 12.B 13.B 14.B 15.B 16.B 17.D 18.B 19.A 20.B 21.C 22.D 23.略 24.略
想在手机上刷这套专题的真题?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可解锁本专题全部配套练习与错题本。
了解产品 App
← 上一个专题 反射与注解专题 下一个专题 → 性能调优实战专题