CodeGym /课程 /JAVA 25 SELF /字符串与文本:String 类型,字符串操作

字符串与文本:String 类型,字符串操作

JAVA 25 SELF
第 2 级 , 课程 2
可用

1. 深入学习类型 String

String 类型是 Java 中使用最频繁的类型之一,甚至可以说是最常用的。它非常强大,因为这种变量可以保存文本。此外,与 intdouble 不同,String 对象自带很多方法,借助它们可以做各种有趣的事情。

此外,Java 中的所有对象(真的所有)都可以被转换为 String。或者更准确地说,Java 中的每个对象都能返回其文本(字符串)表示形式。我们以后还会多次回到这个类型(它既有用又有趣),但今天先从它的基础开始。

创建 String 类型的变量

String 类型用于存储字符串(文本)。要在代码中创建一个能保存文本的变量,可以使用如下语句:

String name;
创建一个 String 类型的变量

其中 name 是变量名。

示例:

命令 说明
String name;
创建字符串变量 name
String message;
创建字符串变量 message
String text;
创建字符串变量 text

intdouble 一样,也可以使用简写一次创建多个 String 变量:

String name1, name2, name3;
创建多个 String 类型的变量

2. 给 String 变量赋值

要给 String 变量赋一个值,写法如下:

name = "值";
String 变量赋值

这里与之前学过的类型有一个重要区别。所有 String 类型的值都是文本字符串,必须用双引号括起来。

示例:

命令 备注
String name = "Anya";
变量 name 包含文本 Anya
String city = "New York";
变量 city 包含文本 New York
String message = "Hello!";
变量 message 包含文本 Hello!

3. 初始化 String 变量

intdouble 一样,String 变量也可以在创建时立即初始化。事实上,Java 中所有类型都可以这样做,所以我们之后就不再赘述了。

String name1 = "值1", name2 = "值2", name3 = "值3";
创建并初始化变量的简写形式
String name = "Anya", city = "New York", message = "Hello!";
创建并初始化变量的示例命令

只有已赋值的变量才能使用/修改

如果只声明了变量但未赋值就尝试使用,Java 编译器会报错。

下面的代码无法通过编译:

String name;
System.out.println(name); // 变量 name 未初始化。程序无法编译。
int a;
a++; // 变量 a 未初始化。程序无法编译。
double x;
double y = x; // 变量 x 未初始化。程序无法编译。

4. 连接(拼接)字符串

在 Java 中有一件既有趣又简单的事情:可以把字符串拼接起来。这种操作称为 连接(concatenation)。也常被称为“拼接字符串”或直接“字符串相加”。

要把两条字符串拼接起来,需要使用符号 +。非常简单:

"字符串1" + "字符串2"
连接两个字符串

示例:

命令 备注
String name = "Anya" + "Anya";
name 包含字符串 AnyaAnya
String city = "New York" + "Anya";
city 包含字符串 New YorkAnya
String message = "Hello! " + "Anya";
message 包含字符串 Hello! Anya

当然,你也可以一次拼接很多字符串,还可以把字符串和变量一起拼接。

String name = "Anya";                // name 包含字符串 Anya
String city = "New York";           // city 包含字符串 New York
String message = "Hello!" + city + name + city; // message 包含字符串 Hello!New YorkAnyaNew York

5. 空字符串

在上一个示例中可以看到,变量 message 里的文本可读性不佳,因为缺少空格。要添加一个或多个空格,只需在代码中直接写出它们并用双引号包起来。这比你想象的更简单:

" "
只包含一个空格的字符串

另外,如果引号之间什么都不写(两个双引号连在一起),就会得到所谓的“空字符串”:

""
空字符串

一方面它确实“存在”,另一方面把它输出到屏幕时什么也看不到。与其他字符串拼接时也不会产生变化。它就像数字中的零,但用于字符串。

6. 在字符串中转义特殊字符

你已经知道,字符串由双引号包裹。那么如果需要在字符串里包含引号怎么办?如果我们在字符串中直接写引号,编译器不会把它当成字符串的结束吗?

没错,会的。因此,字符串内部的引号要用一对字符 \" 来表示。代码会是这样:

String quote = "他说:\"您好!\"";
System.out.println(quote); // 他说:"您好!"

其实还要再精细一点。符号 \ 在字符串内部被视为特殊(控制)字符。借助它可以表示各种“不可见字符”,比如换行、制表符等。而要表示符号 \ 本身,需要写 2 次。

以下是最常用的 4 个组合:

写法 含义
\n 换行(newline)
\t 制表符(缩进)
\\ 字面量 \
\" 字符串内部的引号

示例:

String multiline = "第1行\n第2行";
System.out.println(multiline);

输出:

第1行
第2行

7. 字符串的内置方法

String 类型有很多自带的方法(也称为“函数”或“方法”)。这些方法非常多,能够极大地方便开发。今天你将认识其中一些(最简单的)。例如:

方法 说明 结果示例
str.length()
字符串长度
"abc".length() → 3
str.toUpperCase()
转为大写
"abc".toUpperCase() → "ABC"
str.toLowerCase()
转为小写
"ABC".toLowerCase() → "abc"
str.trim()
去掉两端空格
"  x y  ".trim() → "x y"

使用字符串方法的示例

这些方法的调用方式如下:变量.函数(...)

确定字符串的长度:

String name = "Andrey";
int length = name.length();
System.out.println(length); // 6,因为有 6 个字母

将字符串转换为大写或小写:

String original = "hello";
System.out.println(original.toUpperCase()); // HELLO
System.out.println(original.toLowerCase()); // hello

去掉两端空格(从键盘输入时非常有用):

String messy = "   hello   ";
System.out.println(messy.trim()); // "hello"

每个这样的方法都会返回一个新的字符串,原有字符串本身不会改变

评论 (2)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
野原广志 级别 8,Beijing,China
23 一月 2026
一直被首位一个空格拿捏
zestquest 级别 7,China,China
4 一月 2026
注意,最后一个任务是要首尾各两个空格