1、数据类型分类 (1)基本数据类型:整数、浮点数、字符、布尔
数据类型关键字内存占用取值范围字节型byte1个字节-128~127短整型short2个字节-32768~32767整型int(默认)4个字节-231~231-1长整型long8个字节-263~263-1单精度浮点数float4个字节1.4013E-45~3.4028E+38双精度浮点数double(默认)8个字节4.9E-324~1.7977E+308字符型char2个字节0~65535布尔型boolean1个字节true, false(2)引用数据类型:类、数组、字符串、接口、Lambda
注意事项: 1)、字符串不是基本类型,而是引用类型; 2)、浮点型可能是一个近似值,并非精确的值; 3)、数据范围与字节数不一定相关; 4)、整数默认类型是int,如果一定要使用long类型,需要加上后缀L; 5)、浮点数默认类型是double,如果一定要使用float类型,需要加上后缀F;
2、数据类型转换 (1)自动转换(隐式):将取值范围小的类型自动提升为取值范围大的类型
int a = 10; //自动类型转换 float a = 10; System.out.println(a);//10.0(2)强制类型转换(显示):
// 格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的类型 int num = (int) 100L;注意事项: 1)、避免使用强制类型转换,有可能发生精度损失、数据溢出; 2)、byte/short/char这三种类型都可以发生数学运算,如加法"+"。在运算时,这些类型会首先被提升为int类型,然后再计算; 3)、boolean类型不能发生数据类型转换;