第5章
CHAPTER 5
数 据 类 型
在声明变量或常量时会用到数据类型,在前面已经用到一些数据类型,如int、double和String等。Java语言的数据类型分为基本数据类型和引用数据类型。
5.1基本数据类型
基本数据类型表示简单的数据,基本数据类型分为4大类,共8种数据类型。
(1) 整数类型: byte、short、int和long。
(2) 浮点类型: float和double。
(3) 字符类型: char。
(4) 布尔类型: boolean。
基本数据类型如图51所示,其中整数类型、浮点类型和字符类型都属于数值类型,它们之间可以互相转换。
图51基本数据类型
5.2整型类型
从图51中可见,Java中整数类型包括byte、short、int和long,它们之间的区别仅仅是宽度和范围的不同。Java中整数都有符号,与C语言不同,没有无符号的整数类型。
Java的数据类型是跨平台的(与平台无关),无论计算机是32位的还是64位的,byte类型整数都是1字节(8位)。这些整数类型的宽度和范围如表51所示。
表51整数类型
整 数 类 型宽度取 值 范 围
byte1字节(8位)-128~127
short2字节(16位)-215~215-1
int4字节(32位)-231~231-1
long8字节(64位)-263~263-1
Java语言的整数类型默认是int类型,例如16表示为int类型常量,而不是short或byte,更不是long,long类型需要在数值后面加l(小写英文字母)或L(大写英文字母)。示例代码如下:
public class HelloWorld {
public static void main(String[] args) {
//声明整数变量
//输出一个默认整数常量
System.out.println("默认整数常量 = " 16);①
byte a = 16;②
short b = 16;③
int c = 16;④
long d = 16L; ⑤
long e = 16l;⑥
System.out.println("byte整数= " a);
System.out.println("short整数= " b);
System.out.println("int整数= " c);
System.out.println("long整数 = " d);
System.out.println("long整数 = " e);
}
}
上述代码多次用到了16整数,但它们是有所区别的。其中,代码第①行的16是默认整数类型,即int类型常量; 代码第②行的16是byte整数类型; 代码第③行的16是short类型; 代码第④行的16是int类型; 代码第⑤行的16后加了L,这说明是long类型整数; 代码第⑥行的16后加了l(小写英文字母l),这也是long类型整数。
提示在程序代码中,尽量不用小写英文字母l,因为它容易与数字1混淆,特别是在Java中表示long类型整数时很少使用小写英文字母l,而是使用大写的英文字母L。例如,16L要比16l可读性更好。