Java基本数据类型
Java中有8种基本数据类型来存储数值、字符串和布尔值,如图1.1所示:

1. 整数类型
整数类型是用来存储整数。可以是正数,也可以是负数。正数类型在Java程序中有3种表示形式,分别为十进制、八进制(0~8,开头必须是0)和十六进制(0~F,开头必须是0X或者0x)。
整数数据根据它所占内存大小的不同,可分为byte、short、int和long4种。它们具有不同的取值范围,如表1.2所示:
| 数据类型 | 内存空间(8位等于1字节) | 取值范围 |
| byte | 8位(1字节) | -128~127(-27~27-1) |
| short | 16位(2字节) | -32768~32767(-215~215-1) |
| int | 32位(4字节) | -2147483648~2147483647(-231~231-1) 21亿 |
| long | 64位(8字节) | 太大了,不写了(-263~263-1) |
在定义4种整数类型时要注意变量的取值范围,超出范围就会内存溢出。对于long型值,若赋予的值大于int的最大值或者小于int的最小值,则需要在数字后面加“L”,表示该数字为长整型数。
1 public class Number { 2 public static void main(String arg[]) { 3 long myLong_1 = 2147483647;//int型最大值 4 long myLong_2 = 2147483648L;//大于int型最大值,需要在数字末尾加“L” 5 System.out.println("myLong_1 = " + myLong_1); 6 System.out.println("myLong_2 = " + myLong_2); 7 8 byte myByte_1 = 127; 9 byte myByte_2 = (byte) 5120000000000000000L;//内存溢出 10 System.out.println("myByte_1 = " + myByte_1); 11 System.out.println("myByte_2 = " + myByte_2); 12 } 13 }
运行结果如图1.3所示:

图 1.3
2. 浮点类型
浮点类型表示有小数部分的数字。Java种浮点类型分为单精度浮点类型(float)和双精度浮点类型(double),它们的取值范围如表1.4所示:
| 数据类型 | 内存空间 | 取值范围 |
| float | 32位(4字节) | 1.4E-45~3.4028235E38 |
| double | 64位(8字节) | 4.9E-324~1.7976931348623157E308 |
在默认的情况下,小数都被看做double型,若使用float型小数,则需要在小数后面添加F或者f。double型小数可在后面加D或者d来表明这是一个double型数据,不加也不会出错。
float myFloat = 3.1F;
double myDouble_1 = 3.1;
double myDouble_3 = 3.1D;
3. 字符类型
3.1 char型
字符类型(char)用于存储单个字符,占用16位(2字节)。定义时要以单引号表示('a'表示一个字符,"a"表示一个字符串)。char a = 'a'也可以写成char a = 97,因为字符a在Unicode表中的排序位置时97 。
同c和c++语言一样,Java语言也可以把字符作为整数对待。由于Unicode编码采用无符号编码,可以存储65536个字符(0x0000~0xffff),所以Java中的字符几乎可以处理所有国家的语言文字(中国汉字就有10万?)。
3.2 转义字符
转义字符是一种特殊的字符变量,它以"\"开头,后面跟一个或者多个字符。转义字符有特定的含义,不同与字符原有的意义。将转义字符赋值给字符也要使用单引号,Java中的转义字符如表1.5所示:
| 转义字符 | 含义 |
| \ddd | 1~3位八进制数据所表示的字符 |
| \uxxxx | 4位十六进制数据所表示的字符 |
| \' | 单引号字符 |
| \\ | 反斜杠字符 |
| \t | 垂直制表符,将光标移到下一个制表符 |
| \r | 回车 |
| \n | 换行 |
| \b | 退格 |
| \f | 换页 |
4. 布尔类型
布尔类型又称逻辑类型,通过关键字boolean来定义,只有true和false两个值,分别代表逻辑中的“真”和“假”。boolean类型通常被用在流程控制中作为判断条件。

浙公网安备 33010602011771号