一、基本数据类型(primitive type)
(1)数值型
1.数值型包括整数类型(byte,short,int,long)
a.byte :1字节=8bit位 (-128~127) 包装类:byte → Byte
b.short:2字节 包装类:short → Short
c.int:4字节 通常定义整型变量,使用int型 包装类:int → Integer
d.long:8字节 声明long变量需要“L”或“l”结尾 例:long a =31252L 包装类:long → Long
2. 浮点类型包括(float,double)// 表示带小数点的数值
a.float:4字节 ,单精度,尾数可以精确到7位有效数字 //float字节只有4字节,但是表示数值的范围比long还大,定义float类型变量时,变量要以“f“或”F“结尾。 包装类:float → Float
b.double:8字节,双精度,精度是float的两倍,通常使用此类型 。 包装类:double → Double
(2)字符型
char:(1字符=2字节)定义char型变量,通常使用‘ ’ 内部只能写一个字符。//声明一个字符,可以使用转义字符,直接使用unicod值表示字符常量。 包装类:char → Character
(3) 布尔型
boolean:只能取两个值之一:true、false,通常在条件判断和循环结构中使用。 包装类:boolean → Boolean
运算规则:
1.自动类型提升:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升位为容量大的数据类型。(容量大小指表示数的范围的大和小)
byte、char、short、--> int -->long-->float-->double
特别的:当byte、char、short三种类型的变量做运算时,结果为int类型。
2.强制类型转换
强制类型转换可能导致精度缺失
需要使用强制符:()
例:
double = 12.3;
int i1 = (int)d1; //截断操作
System.out.println(i1);
二、引用数据类型(reference type)
1.类(class)
2.接口(interface)
3.数组(【】)