一. 数据类型的前提:
1. 8种基本数据类型:
整数类型:byte、short、int、long
浮点类型:float、double
字符类型:char
布尔类型:boolean
2. 数据类型的取值范围大小:
byte < short < char < int < float<double<char<boolean
二. 数据类型的转换:
1. 自动类型转换的规则:
a. 小范围的数据类型可以自动转换为大范围的数据类型。整数类型默认为:int类型,浮点类型默认为float类型
b. 自动类型转换是无需程序员手动操作,由程序自动完成。
byte b = 120;
int i = b;
System.out.println(i) //自动转换为int类型
2.强制类型转换:
a. 如果一个数超过了变量的范围,则需要强制转型,否则会出现编译出错
b. 如果大范围的数据强转换为小范围的数据类型,则有可能失去真实的数据
c. 如果浮点类型转换为整数类型,则会丢失小数点后面的值
double d = 99.99;
//int i = d //编译报错,因为浮点类型的取值范围大于int类型
int i = (int)d
System.out.println(i) //输出i
3. 表达式的类型转换
a. 在表达式中,byte ,short ,char类型的变量是直接提升到int类型参与运算的。
b. 表达式的最终结果类型,依然是由表达式中的最高类型决定的
byte b1 = 10;
byte b2 = 20;
//byte b3 = b1+b2; //编译错误,b1+b2已经自动被升级成int类型。
int i = b1+b2;
System.out.println(i);