基本数据类型
Java里面包含8个基本数据类型,分别是:
boolean、byte、char、short、int、float、douboe、long
byte 字节
byte是JAVA中最小的数据类型,它在内存中占8位(8个bit),取值范围从-128到127
赋值:byte I = 127
short 短整型
short类型在内存中占2个字节,取值范围从 -32768到32767
赋值:short i = 32767
char 字符型
char类型在内存中占2个字节。表示一个字符,也可以使用ASCII码范围内的值来给char型的变量赋值。由于字符在内存中的取值不存在负数范围,所有取值范围从 0 到 65535
赋值:char i = ‘a’或者 char i = 97
int 整型
int型在内存中占4个字节。取值范围从 -2147483648 到 2147483647
赋值:int i = 10
float 单精度浮点型
float型在内存中占4个字节。取值范围从 -3.4E38 到 3.4E38
赋值:float i = 1.0f
long 长整型
long型在内存中占8个字节。取值范围从 -9223372036854775808 到 9223372036854775807
double 双精度浮点型
double 型在内存中占8个字节。取值范围从 -1.7E308 到 1.7E308
boolean 布尔型
boolean类型只有两个值:true和false。
基本数据类型的相互转换
转型规则
JAVA中所有的数字变量都是有符号(正负)的。
JAVA不允许类型的随意转换。只有数字变量可以进行转换,但是不能随意。
带有小数点的数字变量默认都为double型。定义float型必须进行强制类型转换。
所占字节数小的数字型变量赋值给所占字节数比它大的类型时不用强制类型转换,此时是自动转型。
int型变量赋值给char型变量时,JVM会以int型变量值到ASCII码表中查找出所对应的字符,再赋值给char型变量。反之也是。但是遵循第4条规则。
初始化简单数据类型时要注意赋值的范围,超出则会产生编译错误。
基本数据类型默认初值
类型 初始值
boolean false
byte 0
char 0
short 0
int 0
float 0.0
double 0.0
long 0
基本数据类型默认初值表
引用数据类型
JAVA中,非简单数据类型的类型都是引用数据类型。
1、八大基本类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
1.1 四个整型
byte:8位有符号数,数值范围-128 ~ 127 (-2^7 ~ 2^7-1)
short:16位有符号数,数值范围-32768~32767(-2^15~2^15-1)
int:32位有符号数,-2^32~2^32-1
long:64位有符号数,-2^64~2^64-1
1.2 两个浮点型
float:32位单精度浮点数,不能表示货币。
double:64位双精度浮点数,同样不能表示精确数值。
1.3 字符型
char:16位单一Unicode字符,\u0000~\uffff
1.4 布尔型
boolean:一位,true or false
2.String 不是基本类型
java中String是个对象,是final修饰的引用类型,基础类型与引用类型的区别是,基础类型只表示简单的字符或数字,引用类型可以是任何复杂的数据结构,基本类型仅表示简单的数据类型,引用类型可以表示复杂的数据类型,还可以操作这种数据类型的行为。
原始数据类型包括byte、int、char、long、float、double、boolean和short,对应的封装类booleanBooleancharCharacter
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
。引用类型和原始类型的行为完全不同,并且它们具有不同的语义。原始数据类型保存在栈中,保存的是实际值;引用类型也保存在栈中,保存的是一个实际对象的地址。它们占用空间大小和存取速度不同;当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为
null,而原始类型实例变量的缺省值与它们的类型有关