Java 数据类型转换
·自动类型转换
自动类型转换指的是容量小的数据类型可以自动转换为容量大的数据类型。如下图所示,黑色的实线表示无数据丢失的自动类型转换,而虚线表示在转换时可能会有精度的损失。
可以将整型常量直接赋值给byte、 short、 char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围即可。例如:
short b = 12; //合法
short b = 1234567;//非法,1234567超出了short的表数范围
·强制类型转换
强制类型转换是在有可能丢失信息的情况下进行的转换,有可能造成精度降低或溢出。
(type)var //语法格式,运算符“()”中的type表示将值var想要转换成的目标数据类型。
示例:
double x = 3.14;
int nx = (int)x; //值为3
char c = 'a';
int d = c+1;
System.out.println(nx); //3
System.out.println(d); //98
System.out.println((char)d); //b
当将一种类型强制转换成另一种类型,而又超出了目标类型的表数范围,就会被截断成为一个完全不同的值。例如:
int x = 300;
byte bx = (byte)x; //值为44
2019-02-13 15:41:08 房廷飞