java数据类型,取值范围,引用类型解析  

 
与javascript不同,Java是强类型语言,在定义变量前需要声明数据类型。主要分两种数据类型:基本数据类型和引用数据类型。

1、基本数据类型分析:

基本数据类型 数值型 整数型 byte字节类型 占8位,用于表示最小数据单位,取值范围为-128~127(代表以存储数字的大小)
short 短整型  16位,很少用,取值范围为-32768 ~ 32767
int 整数类型 32位,常用,取值范围为-2147483648 ~21474836487
long 长整形  64位,常用,取值范围为-2^63-1~2^63-1,所有整数默认都为int类型,所以在定义的long型数据后面加L或l。小于32位数的变量,都按int结果计算
浮点型 float 浮点类型(单精度) 32位,后缀F或f,1位符号位,8位指数,23位有效尾数。取值范围为-1.4E-45~-3.4E+38,0,1.4E-45~3.4E+38
double 双精度类型(双精度)

64位,最常用,后缀D或d,1位符号位,11位指数,52位有效尾数,取值范围为-4.9E-324~-1.7+308,0,4.9E-324~1.7+308

char 字符型 Java中的char类型使用Unicode字符集,在内存中是以16位无符号数据表示,取值范围:0~65535
boolean 布尔型  8位,取值范围:true和false,取其他值报错

1、引用数据类型分析:  

 指的是那些保存在堆内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针指向内存堆   中实际的值;按引用访问,当查询时,我们需要先从栈中读取内存地址,然后再顺藤摸瓜地找到保存在堆内存中的值;

 主要包含:类、接口和数组等。当写代码的时候经常会实例化个对象,例如new Person(),运行的时候会在堆内存中存储这个对象的信息,当Person p=new Person(),此时运行的时候会在栈内存中存储堆中那个对象的地址。