
2.3.2 整数类型
由图2.5可知,Java中的整数类型包括byte、short、int和long,这四者之间的区别仅仅是宽度和范围不同。例如,一个byte型变量代表的值占用1字节的内存空间(8位),能够表示的十进制整数数据的范围为-128~127(包含0)。一个int型变量代表的值占用4字节的内存空间(32位),能够表示的十进制整数数据的范围为-2147483648~2147483647(包含0)。一个int型变量的值也可以是-128~127的任意整数。相对于使用byte型变量,int型变量会额外占用3字节的内存空间。使用不同类型存储数字127的区别如图2.6所示。

图2.6 使用不同类型存储数字127的区别
在内存资源非常有限或对计算效率要求非常高的应用场景中,根据准备存储的数据的大小,选择占用内存空间最小的数据类型是很有意义的。反之,在资源较为充裕的应用场景中,一般使用int型变量来存储整数,仅当需要存储超过int型的整数时,才使用long型变量。
整数类型如表2.2所示。
表2.2 整数类型

1.整型数据的定义
在使用整型数据之前必须先声明,在声明时也可以赋初值。例如:

2.整数字面量的默认数据类型
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。几乎所有的计算机编程语言都支持对基本值的字面量表示,如整数、浮点数及字符串,很多布尔类型和字符类型的值也支持用字面量表示,还有一些甚至对枚举类型的元素,以及数组、记录和对象等复合类型的值也支持用字面量表示。
简单来说,在Java源代码中直接出现的值均是字面量。例如:

在Java中,整数类型的字面量默认是int型的。例如:

如果在整数类型的字面量后面显式地添加大写英文字母L(推荐)或小写英文字母l,那么该整数字面量的类型为long。例如:
