AP CSA 02 - 数据类型

零风PLFJY Lv2

接下来终于到正式内容了,这里还是按照顺序的,本章节对应考纲Unit 1的内容

前言

类型这个东西在我看来是编程中非常重要的一个部分,因为它决定了一切内容的基础,从C语言开始就已经有了类型的概念,虽然在脚本型语言中类型的概念被不断弱化,但是在学习编程的过程中我认为类型还是一个不可绕过的内容

首先,为什么会有类型?计算机不认识我们习以为常的整数、文本、小数、是非、列表,我们需要告诉计算机,我们要存进计算机的数据是什么东西,所以诞生了类型的概念,那么在计算机中,只有电脑知道了是什么类型,计算机才能用对应的方式处理对应的数据

考试中的数据类型

AP考试关注以下这几种数据类型:

  • int –> 整数
  • float –> 单精度小数(又称浮点数)(考试不考)
  • double –> 双精度小数
  • boolean –> 中文是啥不重要,知道它只有 truefalse 两个状态就行
  • char –> 字符(考试不考,但是是下面字符串的组成部分)
  • String –> 字符串(重点,后面会单独开一章讲)
  • Array –> 数组
  • ArrayList –> 列表
  • 自定义类型 –> 这个会在面向对象的部分单独讲,非常关键

int (Integer) 整数

int 是整数类型,和数学上的定义是一样的,我就不抄 Google 了,这里有几个特性:

  1. 默认值是 0
  2. int 拥有自增自减运算,这个在下一章变量会讲,其实就是 +1 和 -1
  3. double 转换为 int 会舍弃后面的小数位数,只保留整数,举个例子,1.5 转成 int 类型则是 1,不存在四舍五入,四舍五入是一个特殊算法,后面会讲,主要用到的就是这个性质
  4. 上限和下限具体值不用记,代码里用 Integer.MAX_VALUEInteger.MIN_VALUE就好了,AP用不着,但是要提一嘴

double 小数

double是小数类型,又称浮点数类型,和数学上定义一样,不过没有循环小数了,多的部分会存不进去,直接截断,特性如下:

  1. 编程中的凡是浮点类型精度都有限,不要妄想通过这个来算账,尤其是精密的东西,有需要可自行 Google “高精度”
  2. 也有自增和自减运算,但一般没人对小数做这个,所以当个乐子知道就行
  3. 默认值是 0.0dd 表示双精度浮点,啥意思也不用管,提一嘴
  4. 前面说过,和 int 之间的类型转换问题,这里是反过来的,intdouble 完整保留,直接转换即可,比如1int 转换成 double 会变成 1.0
  5. 上限和下限分别是 Double.MIN_VALUE Double.MIN_VALUE,AP也用不着,当了解了

boolean 中文是啥不重要

我们需要在一些时候去判断一件事的真假,比如雅思阅读当中,有一段话我们要判断 True、False 、Not Given(这个编程中没有,别找了),虽然我们可以依靠 int 类型的 0、1来判断,但是有一个单独的类型能够代表这个当然是最好的

boolean 别的语言里有的又称 bool 类型,中文是啥不重要 (我就算说了它叫布尔你也不知道是干啥的),它只有 2 个性质:

  1. 这种类型只有两种情况,true 或者 false
  2. 前面加上 ! 会取反,比如 !true == false, (1 != 3) == true

    这里由于字体的原因我重新打一下上面那个被搞成不等于号的符号,在编程中写作:‘!=’,之后的博文中看到 !=,自动看成 ‘!=’

  3. 这个是补充知识:编程中 = 指的是赋值操作,不是常规的等于号,下一章讲,要比较相等请使用 ==

    又由于字体原因不好分辨出来,我再打一遍,赋值是 ‘=’,比较相等是 ‘==’,以后的博文中注意长度的不同

String 字符串

顾名思义,字符组成的串,在代码里我们通常用双引号扩起来,第一章你应该记得见过像这样的 "Hello World" ,这玩意就叫字符串,这里不详细介绍,后面单独开一章。'A' 这种叫字符char,AP考试不考字符

ArrayArrayList

这俩货不是最基本的基础数据类型,后面再说,先放着,你一时半会也见不到,其实就是一串同类型的数据连着一起

本章节到此结束

  • Title: AP CSA 02 - 数据类型
  • Author: 零风PLFJY
  • Created at : 2025-07-21 17:40:16
  • Updated at : 2025-12-06 22:44:55
  • Link: https://blog.plfjy.top/ap-csa/02-data-types/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments