Java的数据类型
学习一门语言必须了解其特有的数据类性,Java的数据类型分为基础数据类型和引用数据类性;
八大基本数据类性,主要分为四类,整形,浮点型,字符型,布尔型
【1】整形
整型简而言之就是整数,在Java中为了合理的使用内存,将整数按照所占的内存大小的不同,将整数的范围进行划分;
单位换算:8bit(位) = 1B(字节) 1KB = 1024B 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB
数据类型 内存空间 取值范围
byte 8位(1B) -128-127
short 16位(2B) -32768-32767
int 32位(4B) -2147483648-2147483647
long 64位(8B) -9223372036854775808-9223372036854775807
【2】浮点型
浮点型简言之就是小数,主要分为单精度浮点数和双精度浮点数
数据类性 内存大小 取值范围
float 32位(4B) 1.4E-45~3.4028235E38
double 64位(8B) 4.9E-324~1.7976931348623157E308
【3】字符型
字符类型用于存储单个字符(可以是字母,数字,特殊字符或者是汉字等等)
数据类性 内存大小 取值范围
char 16位(2B) 0-65535
【4】布尔类型
布尔类型又称为逻辑类型,只有true 和 false 两种状态
数据类性 含义
true 真
false 假
引用数据类型
引用数据类型,相对于基本数据类型,主要的区别在于,在对变量赋值的时候,接收基本数据类型的变量保存的是数据本身,而接收引用数据类型的变量存放的是引用类型数据的地址;
引用数据类型主要有String,StringBuffer,StringBuilder,数组,对象;
【1】String
String 字符串类型
String str = "String";//可以使用String接收多个字符;
String的对象存放在方法区的静态池(常量池)中;
在创建String类型的变量时,不需要使用new 关键字,可以直接使用“=”连接,每次创建或者修改一个String类型数据的时候,就会在堆内存中产生一个String类型的数据;
String类是final修饰的,不能被继承,String类对象创建后不能修改;
【2】StringBuffer ,StringBuilder
StringBuffer , StringBuilder为可变长度的字符序列,主要用于弥补String类型的缺陷,String字符串长度固定,且其类型被final修饰,重复赋值修改时,会产生大量的String类型的对象,极大的增加了系统的开销。使用StringBuffer或者是StringBuilder可变长度的字符序列,大大提高了频繁增加字符串的效率。
使用时需要先创建对象,通过new关键字创建;
StringBulider sbd = new StringBuilder();
StringBuffrt sbf = new StringBuffer();
这二者在用法上没有实质性的区别,原理上的细微差别在后续的String类中详细的分析;
【3】数组
数组就是相同数据类型数据的集合,在数组中,元素的数据类性都相同,且元素的个数固定;
数组用过new关键字创建,创建的数组的对象保存在堆内存中;
【4】普通对象
普通对象又被称自定义类对象,是根据需求自己创建的类使用new关键字创建出来的对象;
普通对象生成后保存在对内从中;