1. 数据类型的分类
Java 语言支持的数据类型分为两类:基本类型、引用类型
1.1 基本类型
1 个字节占 8 位
- 整数类型:byte(一个字节)、short(两个字节)、int(四个字节)、long(八个字节)
- 字符类型:char(两个字节)
- 浮点类型:float(四个字节)、double(八个字节)
- 布尔类型:boolean
注:当浮点数除以 0 时,结果为正无穷大或者负无穷大
float f = 9f;
System.out.println(f/0);//结果为 Infinity(无穷)
如果一个整数除以 0 则会抛出一个异常
1.2 引用类型
基本数据类型存储在栈
中,引用类型在栈中存储的是对象在堆
中的地址。
栈
中的数据访问速度快
2. 基本数据类型之间的相互转换
2.1 自动类型转换
范围小的数值可以自动转换为方位大的数值。
自动类型转换图
int a = 12;
float b = a;//小的可以自动转换为大的
byte b = 7;
// 下面的代码会出错,byte 类型不能自动转化为 char 类型
//char c = b;
2.2 强制类型转换
double a = 3.98;
//强制类型转换,但是会丢失精度
System.out.println( (int)a );//3
将范围大的数值类型转换为小的数值类型,需要用到强制类型转换。但是可能会丢失精度
就如同有两瓶水,小的瓶子的水可以放入大的瓶子中。而大瓶子的水放入到小瓶子中可能会有所损失