自动类型转换
容量小的类型自动转换成容量大的数据类型。
实线代表可以直接转换,虚线表示可能丢失精度。
byte,short,int,它们三者在计算时会转换成int类型
如果把 int值转换成float值,或者long转换为double值,不需要强制转换,但可能丢失精度。
/**
基本数据类型转换
*/
public class Test3{
public static void main(String[] args){
byte b=10;
short s=b;//把一个字节赋值给一个短整型变量,自动转换
int i=s;//把一个短整型赋值给一个整数
long lon=i;
//char->int 自动转换
char sex='男';
int sex2=sex;
System.out.println(sex2);
// float 和 double 是属于近似值
// byte char short int long 属于精确值
//精确值转近似值时可能丢失精度
int num=2147483000;
float num2=num;
//如果用于表示货币值,不建议使用float或double
System.out.println(num2);
//面试题
//byte,short,int,它们三者在计算时会转换成int类型
short s1=10;
int s2=s1+1;
System.out.println(s2);
//把大的容量类型转换成小的容量类型,需要强制类型转换
int x=(int)lon;
}}
强制类型转换
容量大的类型转换成容量小的类型时,要加上强制类型转换符
long n=100L;
int i=(int)n;
有可能造成精度降低或数据溢出,使用时要小心。
boolean类型不能转换成任何其它数据类型。