基本数据类型
自动类型转换
自动类型转换是指:数字表示范围小的数据类型可以自动转换成范围大的数据类型。
下图中,箭头左边的数值类型可以自动类型转换为箭头右边的数值类型。
例如:
long l = 100;
int i = 200;
long ll = i;
强制类型转换
强制类型转换即强制显示的把一个数据类型转换为另外一种数据类型,格式为:(targetType)value。
例如:
public class NarrowConversion{
public static void main(String[] args){
var iValue=233;
//强制转换int类型为byte类型,数据溢出
byte bValue=(byte)iValue;
//将输出-23
System.out.printIn(bValue);
var dValue=3.98;
//强制转换double类型为int类型,直接截断浮点数的小数部分
int tol=(int) dValue;
//将输出3
System.out.printIn(tol);
}
}
类型自动提升
当一个算术表达式中包含多个基本类型的值时,整个算数表达式的数据类型将发生自动提升。
- 所有的byte类型、short类型和char类型将被提升到int类型。
- 整个算数表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。