Java面向对象程序设计教程
上QQ阅读APP看书,第一时间看更新

2.2 数据类型和变量

2.2.1 数据类型

计算机程序可以处理各种数据,包括字符、数字、声音、图片、影像等。程序运行时,这些数据要放到内存中进行处理,那么为这些数据分配多大的内存呢?Java语言中将这些数据进行了一个分类,并给每个类别起了一个名字,称为基本数据类型,同时规定了每种基本数据类型占用的内存大小。当然,程序员也可以自己来定义数据类型,这就是后面要学习的“类”。

Java中的数据类型分为基本数据类型和引用数据类型。基本数据类型使用很广泛,共分为8种,如表2-1所示。

表2-1 Java基本数据类型

问题:为什么byte类型的范围是-128~127呢?

因为byte占用1字节空间,1字节是8个二进制位。计算机中使用补码来表示一个数字(关于补码可参阅相关计算机书籍)。8个二进制位中最高位表示数字是正数还是负数,即符号位。如果是0则表示是正数,如果是1则表示数字是负数,所以使用8个二进制位表示的最大正数就是0111 1111,即127,那么最小的负数就是1100 0000,这个数就是-128。

Java中的引用数据类型比较复杂,会在后续的章节重点介绍,常见的引用数据类型如表2-2所示。

表2-2 Java常见引用数据类型