
一、基本数据类型共8种:(byte \short \int \long \float \double \char \boolean)
类型 占用存储空间 可表示整数的范围
整数类型: byte: 8位 (1字节) 范围:-128~127 (十进制)(byte用于表示最小数据,如文件数据)
/ short: 16位(2字节) 范围:-32768 ~ 32767
/ (常用) int: 32位(4字节) 范围:-2^31-1~2^31
1、数值型: long: 64位(8字节) 范围:-2^64-1~2^3164
\
\ 类型 占用存储空间 后缀
浮点类型: float 32位(4字节) 后缀 F 或 f
double 64位(8字节) 后缀 D 或 d
注意:赋值带小数点的小数要加后缀:float f=1.3f; (一般程序float就够用,double很少用到,几乎不用)
类型 占用存储空间
2、字符型: char 16位(2字节)
注:java 字符采用unicode编码,无论英文中文,都占2字节。用单引号表示:char c='哈' ;
3、布尔型: boolean 8位(1字节)
boolean只允许赋值 true 或 false (可以是表示true或false的String对象,但不能像语言C那样用整数表示)
参考:1、http://www.cnblogs.com/simplefrog/archive/2012/07/15/2592011.html
二、引用数据类型:(类:Class / 接口:interface / 数组 )
--------------------------------- 通过对比来了解引用数据类型与基本数据类型--------------------------------------------------
基本数据类型和引用数据类型的区别和联系:
1、从概念方面来说
基本数据类型:变量名指向具体的数值
引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值
2、从内存构建方面来说
基本数据类型:变量在声明之后java就会立刻分配给他内存空间
引用数据类型:它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量 声明时 不会分配内存,只是存储了一个内存地址。
3、从赋值方面来说
基本数据类型:使用时需要赋具体值,b = a;是把a的值传给b,存在b的内存空间内。该判断时使用“==”号
引用数据类型:使用时可以赋null,判断时使用equals方法,b = a;是把a的数据的地址传给b,即a和b都存储的是一个地址,这个地址指向实际的数据。(与C++中的指针类似)
参考:http://blog.csdn.net/ahafg/article/details/51159919
三、基本数据和引用数据的存储
栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方,栈在cpu的cahe中,堆在内存中。
基本数据类型声明时只占用 CPU 的栈(或称堆栈;stack) 中 的内存,
引用数据类型声明时占用栈内存和堆内存,但不分配内存,知识存储了一个内存地址。
---------------------------------------------------------------------------------------------------------------------------
关于更多 java数据存储 的传送门:
1、http://blog.csdn.net/aaa1117a8w5s6d/article/details/8251456
2、http://blog.csdn.net/qq_26805137/article/details/52996910
3、http://www.cnblogs.com/mengyan/archive/2012/08/16/2642514.html
浙公网安备 33010602011771号