Java是一种强类型语言,每个数据都与特定的数据类型相关,但在运算过程中,允许整数类型、浮点数类型、字符类型的数据进行混合运算,运算前不同类型的数据首先要转换为同一类型,然后再进行运算。根据转换方式的不同,基本数据类型转换可分为两种:自动类型转换和强制类型转换。
1、自动类型转换
自动类型转换也叫做隐式类型转换,指的是两种数据类型在转换过程中不需要显式第进行声明。要想实现自动转换,两种数据类型之间彼此兼容,并且目标类型的取值范围大于源类型的取值范围。字节型(byte)、短整型(short)、整型(int)、长整型(long)、单精度浮点型(float)、双精度浮点型(double)之间是兼容的,它们的取值范围由低到高为:byte、char、short、int、long、float和double。字符类型(char)和整型(int)之间是兼容的,字符类型可以自动转换为整型。
自动类型转换示例如下:
byte b=127; //声明一个字节型变量,初值为127
short s=b; //把一个字节型变量自动转换为短整型,无需显式说明