目录
1.基本数据类型
2.数值类型之间的合法转换
3.强制类型转换
1.基本数据类型
Java是一种强类型语言,这就意味着必须为每一个变量声明一种类型。在Java中,一共有8种基本数据类型,其中有4种整型、2种浮点型、1种字符型和1种用于表示真值的boolean类型。
2.数值类型之间的合法转换
下图是数值类型之间的合法转换关系图。
图中有6条蓝色实现,表示无精度损失的转换;有3条红色虚线,表示可能有精度损失的转换。
3.强制类型转换
在必要的时候,int类型的值会自动地转换成double类型(如计算3+5.5,由于算术表达式中有一个double类型,所有整型3自动转换成double类型进行计算)。但另一方面,有时也需要将double转换成int。在Java中,这种可能造成精度损失的转换要通过强制类型转换(cast)来完成。强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名。例如:
double x = 9.997; int nx = (int)x;
这样,变量nx的值为9,因为强制类型转换通过截断小数部分将浮点值转换为整型。
如果想对浮点数进行舍入运算,以便得到最接近的整数,那就需要使用Math.round方法:
double x = 9.997; int nx = (int)Math.round(x);
现在变量nx的值为10,当调用round的时候,仍然需要使用强制类型转换(int)。其原因是round方法返回的结果为long类型,由于存在精度损失的可能性,所以只有使用显式的强制类型转换才能够将long类型转换成int类型。



