快捷搜索: 王者荣耀 脱发

JAVA基本数据类型及转换规则

JAVA基本数据类型及转换规则

java数据类型分为两大类: 一:基本数据类型

    由程序设计语言系统所定义,不可再分的数据类型。在JAVA语言中,基本数据类型所占的内存空间大小是固定不变的,与所处的平台无关,基本数据类型在内存空间中所存储的数据值本身

JAVA基本数据类型有4类:

    整形:byte、short、int、long(L) 浮点型:float(单精度F)、double(双精度) 【这里单精度和双精度的区别在于float的有效位约为8位,而double约为15位】 布尔型:boolean 字符型:char(char类型用于描述utf-16编码中的一个代码单元,如非必须处理UTF-16字符集,尽可能避免使用) 需要注意的是在使用long和float类型的时候,需要在值的后面加上L和F来做标记,否则会被识别为int和double类型

数据类型转换(除boolean类型)

1.自动类型转换(隐式转换/合法转换)(由小向大转换)

    如果当两个操作数中有一方是double类型的时候,另一个操作数自动转换为double类型 否则当两个操作数中有一方是float类型的时候,另一个操作数自动转换为float类型 否则当两个操作数中有一方是long类型的时候,另一个操作数自动转换为long类型 否则其他两个操作数自动转换为int类型

虽然上述过程为自动类型转换,但当要转换的数值足够大时,int=>float或long=>float或long=>double仍有可能造成精度缺失

2.强制类型转换(由大向小转换) 会造成缺失精度 如float转换为int

float a = 10.72F
int b = (int) a 
System.out.println("b" + b);
"b = 10"

当一种类型强制转换为另一种类型,并且值超出了目表类型的范围,结果可能为非预期之内的值

//如这段代码,byte的范围为-128~127 变量a超出了范围,结果是多少?
int a = 325;
byte c = (byte) a;
System.out.println(c);
经验分享 程序员 微信小程序 职场和发展