java基本数据类型
- java数据类型
- java基本数据类型和引用数据类型的区别
- 基本数据类型转换规则
- 隐式类型转换
当小类型数据存放在大类型变量当中时,会发生隐式类型转换,或者说当精度低的数据类型存放到精度高的数据类型变量当中时,会发生隐式类型转换。
eg:
class TestDemo{
public static void main(String[] args){
short a=10;
int b=a;//发生类型的隐式转换,short类型隐式转换为int类型.
}
}
- 转换规则
- 显式类型转换
如果要把大类型的数据存到小类型的变量当中,势必会发生数据的截断,精度降低的现象。此时需要对类型进行强制转换,强制转换也称为显示类型转换,一般用强转操作符()进行转换。
eg:
class TestDemo{
public static void main(String[] args){
int a=10;
short b=(short)a;//对类型进行强制转换,将int类型强制转换为short类型.
}
}
- 类型相加
byte a=10;
a=a+10;//error
/*a+10 将等号右边的类型隐式提升成 int 类型,所以将 int 类型赋值给 byte 类型需要进行强制转换*/
a+=10;//right
/*使用+=符号类型不会发生隐式转换*/
byte c=10;
byte d=10;
c=c+d;//error
/*c+d 的结果会隐式转成 int 类型.int类型赋值给byte类型需要进行强制转换*/
总结:低于 int 字节数的基本数据类型,涉及到到运算时,都会发生隐式类型提升,提升为 int 类型。