黑马程序员技术交流社区

标题: Java的8种基本数据类型取值范围、占用字节等详细介绍 [打印本页]

作者: 郭孟涛    时间: 2013-1-17 02:03
标题: Java的8种基本数据类型取值范围、占用字节等详细介绍
本帖最后由 舒远 于 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




作者: 周志强    时间: 2013-1-17 13:32
辛苦了  顶一下  加油啊 哥们
作者: 王溢君    时间: 2013-1-17 14:34
这个不错
作者: 胥文    时间: 2013-1-22 19:24
顶一下
{:soso_e100:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2