java学习笔记三——数据类型转换

基本数据类型转换
基本数据类型转换,小数据与大数据类型运算,自动转换为大数据类型进行运算。
顺序是:byte -> char -> short -> int -> long -> float -> double
整型重点-----------------------------------------------------
byte  short  int  long 默认值自动转换为int类型
byte short 默认值可以直接存放值,但不能超过自身可存放大小
long存放值需要在尾部加 L 符号,不加则只能存放int类型大小的值
long l = 88888888888L
int转byte short需要强制转换,但值超过转换后类型可存放的大小,将造成数据丢失
int m = 127;
byte i = (int)m;
long转int  byte  short需要强制转换,但值超过转换后类型可存放的大小,将造成数据丢失
任意数学运算表达式运算结果,都为int型,其他类型需要存放,都要进行强制转换
浮点型重点----------------------------------------------------
float   double  默认值为double类型
float存放值需要在值尾部加f
float i = 0.14f
double转换float需要强制转换,但容易造成精度丢失
double d = 0.14;
float f = (float)d;
浮点型转整形会将小数点后去掉
float f = 0.14;
int i = (int)f;
总结:
     小容量类型转大容量类型,可以隐式转换
     大容量类型转小容量类型,需要强制转换,但值超过自身可以容纳的大小,将丢失数据
     整型转浮点类型,可以隐式转换
     浮点型转换整型,需要强制转换,但会丢失小数点后的数据
     float转double会造成精度丢失,也就是小数点后的数字不正确,解决这一问题可以先将float转为String再转为double
     double转float会造成小数点后面的位数被裁断,超出float可表示的小数点位数后面的数都会被裁断,建议不要这样转换。
原文地址:https://www.cnblogs.com/huanghai/p/2184343.html