欢迎来到字符串的世界!
在计算机科学中,我们使用字符串 (String) 这个词来描述任何一段文字。它可以是一个字母、一整句话,甚至是一个包含数字和符号的密码。在本指南中,我们将学习如何“处理”字符串——这基本上意味着对它们进行切片、连接和测量,以确保我们的程序能精确地执行我们想要的任务!
你可以把字符串想象成一串珠子项链。每一颗珠子都是一个字符(字母、空格或符号)。读完这些笔记后,你将会成为计算珠子数量、挑选特定珠子,甚至将它们转换为数字的专家。让我们开始吧!
1. 测量字符串:长度 (Length)
长度 (Length) 运算可以告诉我们一个字符串中总共有多少个字符。这包括字母、数字、标点符号,甚至是空格!
它是如何运作的:
想象一下字符串 "Pizza Pie"。
P (1), i (2), z (3), z (4), a (5), [空格] (6), P (7), i (8), e (9)。
所以它的长度是 9。
快速回顾:
别忘了空格!计算机将空格视为与字母 'A' 一样的字符。如果你忘了计算空格,算出来的长度就会出错喔。
重点总结: 长度 (Length) 给出字符串中每一个字符的总数。
2. 寻找字符:位置 (Position)
位置 (Position)(有时称为索引,indexing)让我们能够找到特定字符在字符串中的位置。
如果起初觉得有点怪怪的,别担心…… 计算机有点特别。它们不是从 1 开始数,而是从 0 开始!这称为零索引 (zero-indexing)。
“储物柜”类比:
想象一排学校的储物柜。第一个储物柜编号是 0,第二个是 1,以此类推。要找到一个字母的“位置”,你只需要找到它的储物柜编号即可。
例子:"CODA"
C 位于位置 0
O 位于位置 1
D 位于位置 2
A 位于位置 3
常见错误: 许多学生会认为一个 4 个字母的单词,最后一个字母是在位置 4。但实际上它是在位置 3,因为我们是从 0 开始数的!
重点总结: 第一个字符永远位于 位置 0。
3. 进行切片:子字符串 (Substring)
子字符串 (Substring) 是较大字符串的一小部分。就像是从文字中“截取”出一段一样。
要取得子字符串,你通常需要告诉计算机两件事:
1. 从哪里开始(位置)。
2. 要取出多少个字符(切片的长度)。
例子:让我们从 "Chocolate" 中取出一个子字符串。
如果我们从位置 0 开始,并取出 4 个字符...
C (0), h (1), o (2), c (3)
结果就是 "Choc"。
重点总结: 子字符串 (Substring) 让你能够从较长的字符串中“切下”一段特定的文字。
4. 连接字符串:拼接 (Concatenation)
拼接 (Concatenation) 是一个专业术语,意思就是将两个或多个字符串连接起来变成一个长字符串。你可以把它想象成把两个乐高积木拼在一起,或是用胶水把它们黏住。
步骤示例:
1. 取出字符串 A:"Super"
2. 取出字符串 B:"Hero"
3. 将它们拼接 (Concatenate)。
4. 结果:"SuperHero"
你知道吗? 如果你想在单词之间加一个空格,你必须自己加上去!拼接 "Hello" 和 "World" 会得到 "HelloWorld"。要得到 "Hello World",你必须连接 "Hello" + " " + "World"。
重点总结: 拼接 (Concatenation) + 胶水 = 连接后的文字。
5. 字符与编码 (Characters and Codes)
计算机实际上并不认识字母,它们只认识数字。每个字符都有一个特殊的“ID 编号”,称为字符编码 (character code)(使用如 ASCII 或 Unicode 等系统)。
将字符转换为字符编码
此运算会读取一个字母并告诉你它的秘密数字。
例子:在 ASCII 中,字符 'A' 会转换为编码 65。
将字符编码转换为字符
这刚好相反!你输入一个数字,它会告诉你对应的字母。
例子:编码 97 会转换为字符 'a'。
记忆小撇步: A = 65。如果你记住大写 'A' 是 65,你就能推算出 'B' 是 66,而 'C' 是 67!
重点总结: 这些运算就像是人类字母与计算机数字系统之间的翻译官。
6. 字符串转换运算
有时候,我们存储的数字是文字格式(字符串),但我们需要用它来进行数学运算。又或者,我们得到了一个数字结果,想要把它当作句子的一部分显示出来。这时我们就需要使用转换运算 (conversion operations)。
1. 字符串转整数 (String to Integer): 将 "10"(文字)转换为 10(可以用来进行加减的整数)。
2. 字符串转实数 (String to Real): 将 "3.14"(文字)转换为 3.14(带有小数点的数值)。
3. 整数转字符串 (Integer to String): 将数字 50 转换为文字 "50",这样它就可以连接到句子中。
4. 实数转字符串 (Real to String): 将 9.99 转换为文字 "9.99"。
为什么这很重要?
如果你尝试将两个字符串(例如 "5" + "5")“相加”,拼接可能会给你 "55"!如果你希望答案是 10,你必须先将它们转换为整数。
快速回顾框:
- 整数 (Integer) = 整数(例如 7)
- 实数 (Real) = 小数(例如 7.5)
- 字符串 (String) = 文字(例如 "7")
重点总结: 转换让你能够改变数据类型 (data types),以便你用数字进行数学计算,并用字符串进行文字显示。
总结检查清单
你能解释这 7 个概念吗?
1. 长度 (Length): 有多少个字符?
2. 位置 (Position): 字符在哪里?(记得从 0 开始!)
3. 子字符串 (Substring): 字符串的一小部分切片。
4. 拼接 (Concatenation): 将字符串连接在一起。
5. 字符转编码 (Character to Code): 字母 \(\rightarrow\) 数字。
6. 编码转字符 (Code to Character): 数字 \(\rightarrow\) 字母。
7. 转换 (Conversions): 在字符串、整数和实数类型之间转换。