本帖最后由 舒远 于 2013-1-17 09:11 编辑
首先为什么要有数据类型?
数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。 例如大胖子必须睡双人床,就给他双人床,瘦的人单人床就够了。
Java中的基本类型从概念上分为四种:整数、浮点、字符、布尔值。总共有八种,其列表如下:
数据类型 | 关键字 | 在内存中占用字节数 | 取值范围 | 默认值 | 布尔型 | boolean | 1 | true,false | false | 字节型 | byte | 1 | -128~127 | 0 | 短整型 | short | 2 | -2[sup]15[/sup] ~ 2[sup]15[/sup]-1 | 0 | 整型 | int | 4 | -2[sup]31[/sup] ~ 2[sup]31[/sup]-1 | 0 | 长整型 | long | 8 | -2[sup]63 [/sup]~ 2[sup]63[/sup]-1 | 0 | 字符型 | char | 2 | 0 ~ 2[sup]16[/sup]-1 | ‘\u0000’ | 单精度浮点型 | float | 4 | 1.4013E-45 ~ 3.4028E+38 | 0.0F | 双精度浮点型 | double | 8 | 4.9E-324 ~ 1.7977E+308 | 0.0D |
名词解释:
字节(Byte)是:计算机文件大小的基本计算单位。
1个字节(Byte) = 8个位(Bit)
Bit意为“位”或“比特”,是计算机运算的基础; 二进制中的一位,是二进制最小信息单位.二进位可以用来表示一个简单的正/负的判断,有两种状态的开关(如电灯开关) .
简单换算结果:
1个字节(Byte) = 8个位(Bit) 2个字节(Byte) = 16个位(Bit) 4个字节(Byte) = 32个位(Bit) 8个字节(Byte) = 64个位(Bit)
在内存计算过程中,字节少的数据运算速度更快;在硬盘存储中,字节少的数据类型也可充分存入更多的数据。
Java的基本数据类型讲解如下:
int:int为整数类型,在存储的时候,用4个字节存储,范围为-2,147,483,648到2,147,483,647,在变量初始化的时候,int类型的默认值为0。
short:short也属于整数类型,在存储的时候,用2个字节存储,范围为-32,768到32,767,在变量初始化的时候,short类型的默认值为0,一般情况下,因为Java本身转型的原因,可以直接写为0。
long:long也属于整数类型,在存储的时候,用8个字节存储,范围为-9,223,372,036,854,775,808到9,223,372,036, 854,775,807,在变量初始化的时候,long类型的默认值为0L或0l,也可直接写为0。
byte:byte同样属于整数类型,在存储的时候,用1个字节来存储,范围为-128到127,在变量初始化的时候,byte类型的默认值也为0。
float:float属于浮点类型,在存储的时候,用4个字节来存储,范围为32位IEEEE 754单精度范围,在变量初始化的时候,float的默认值为0.0f或0.0F,在初始化的时候可以写0.0。
double:double同样属于浮点类型,在存储的时候,用8个字节来存储,范围为64位IEEE 754双精度范围,在变量初始化的时候,double的默认值为0.0。
char:char属于字符类型,在存储的时候用2个字节来存储,因为Java本身的字符集不是用ASCII码来进行存储,是使用的16位Unicode字符集,它的字符范围即是Unicode的字符范围,在变量初始化的时候,char类型的默认值为'u0000'。
boolean:boolean属于布尔类型,在存储的时候不使用字节,仅仅使用1位来存储,范围仅仅为0和1,其字面量为true和false,而boolean变量在初始化的时候变量的默认值为false。
关于取值范围的计算方法举例:
8个位(Bit) 首先除去一个符号位,还有7位,转换为十进制数是2^7 =128 ,非负数:128-1 负数:-128 ,范围为-128到127
|
|