欢迎来到数据类型的世界!

在本章中,我们将探讨计算机科学中最基本的构建模块之一:数据类型(Data Types)。你可以把数据类型想象成程序设计世界的“容器”。就像你不会把汤装进鞋盒,也不会把一双鞋放进汤碗里一样,计算机需要确切地知道它正在处理的是哪种“种类”的信息,才能正确地进行操作。

读完这些笔记后,你将了解什么是数据类型,以及如何为你的程序选择正确的类型。如果一开始觉得内容很多,别担心——一旦你掌握了当中的规律,这一切就会变得像呼吸一样自然!


1. 什么是数据类型?

数据类型是一种分类,用来告诉计算机该变量(存储空间的名称)所存放的是什么类型的数据。这点非常重要,主要原因有二:

1. 内存(Memory): 它告诉计算机需要在内存中预留多少空间。
2. 运算(Operations): 它告诉计算机可以对这些数据做什么。例如,你可以将两个数字相乘,但你无法将两个名字相乘!

现实生活中的类比: 想象你在填写表格。如果栏位写着“年龄”,你会预期填入一个数字。如果写着“签名”,你会填入字符。如果计算机试图将你的“签名”与“年龄”进行“加法”运算,它肯定会感到非常困惑!


2. “核心六大”数据类型

牛津 AQA 教学大纲要求你理解并运用以下六种特定的数据类型。让我们逐一拆解。

A. 整数 (Integer)

整数没有小数点数的数。它可以是正数、负数或零。

示例: 10, -5, 0, 2024

最适用于: 你需要计算的事物,例如班级人数或电子游戏的分数。

B. 实数 (Real / Float)

实数(在 Python 等程序语言中通常称为 浮点数 Float)是指带有小数点的数字

示例: 3.14, -0.5, 99.9, 2.0 (即使小数部分是 .0,只要有小数点,它就是实数!)

最适用于: 度量衡数据,例如身高、体重或价格。

C. 布尔值 (Boolean)

布尔值是最简单的数据类型。它只能持有两个值中的其中一个:True(真)False(假)

示例: True, False

最适用于: 检查条件或设定。例如:用户是否已登录?(True)。游戏结束了吗?(False)。

D. 字符 (Character)

字符是一个单一的字母、数字或符号。通常用单引号括起来表示。

示例: 'A', '?', '3', ' ' (空格键也是一个字符!)

最适用于: 存储单一输入,例如菜单选项('Y' 或 'N')。

E. 字符串 (String)

字符串是一连串连接在一起的字符序列。把它想象成一条项链,上面的每一颗珠子都是一个字符。字符串通常用双引号括起来。

示例: "Hello World", "Computer Science", "12345"

最适用于: 姓名、地址,或任何长度超过单一符号的文字。

F. 日期/时间 (Date/Time)

日期/时间数据类型是用来存储……没错:日期和时间!它们很特别,因为计算机对待它们的方式不同于一般的数字或字符串,以便处理日历相关的计算。

示例: 25/12/2024, 14:30:00

最适用于: 记录事件发生的时间或设定提醒事项。


3. 记忆法与小贴士

“项链”技巧: 如果你搞不懂字符 (Character)字符串 (String) 的差别,试着想想一条项链。一颗珠子就是一个字符。整条项链就是一个字符串

记忆口诀: 若要记住这六种类型,试试这句话:
I Really Believe Coding Should be Delightful! (我真的相信编程应该是愉快的!)

(Integer, Real, Boolean, Character, String, Date/Time)


4. 常见错误避雷区

1. “数字-字符串”陷阱: 看看这两个:10"10"
前者是整数(你可以将它加上 5 得到 15)。
后者是字符串(它只是文字)。如果你试图将 5 加到 "10" 上,计算机通常会给你一个错误信息!

2. 忘记小数: 如果题目要求存储“平均分数 (Average Marks)”,千万别选整数。平均数通常带有小数,因此必须使用实数 (Real/Float)

3. 布尔值不是字符串: True 是一个布尔值。而 "True"(带有引号)只是一串文字。请务必确认你的程序需要的是哪一个。


5. 快速回顾

快速复习盒:
整数? 使用 Integer。
小数? 使用 Real/Float。
是/否选项? 使用 Boolean。
单一符号? 使用 Character。
单词或句子? 使用 String。
日历信息? 使用 Date/Time。


总结:重点摘录

- 数据类型告诉计算机正在存储哪种信息。
- 选择正确的类型对于程序零错误运行以及高效使用内存至关重要。
- 字符串是多个字符的集合;实数是带有小数点的数;整数是没有小数点的整数。

你知道吗? 在许多程序语言中,一个布尔值在内存中实际占用的空间非常小(有时仅需一个位元!),因为它只需要表示两种状态:0 或 1。