double t = 1.3; // 可不写d/D,(最好写上),默认为double.
float f = 1.3; // false, double -> float,有可能造成数据截短.
float f = (float)1.3 ; 或 float f = 1.3f; // true
-----------------------------------------------------------------------------------------
自动类型提升(自动类型转换)
整型、浮点型、字符型数据可以进行混合运算。当类型不一致时,需要进行类型转换,从低位类型到高位类型会进行自动转换,而从高位类型到低位类型需要进行强制类型转换。
boolean类型不能与其它的基本类型进行类型转换。
表达式中不同类型的数据先自动转换为同一类型,然后进行计算,自动转换总是从低位类型到高位类型:
1、当操作元中存在double类型的操作元时,所有操作元自动转换为double类型,表达式的值为double类型。
2、否则 float --> float 表达式返回 float
3、否则 long --> long long
4、否则 所有操作元自动转换为int类型,表达式的值为int类型。
注:byte,short和char类型的数据在如“x++”这样的一元运算中不自动转换类型。
Java语言允许把八进制数(以“0”开头)、十六进制(以“0x”开头)和十进制数赋值给整数类型变量。
float f = 1.3; // false, double -> float,有可能造成数据截短.
float f = (float)1.3 ; 或 float f = 1.3f; // true
-----------------------------------------------------------------------------------------
自动类型提升(自动类型转换)
整型、浮点型、字符型数据可以进行混合运算。当类型不一致时,需要进行类型转换,从低位类型到高位类型会进行自动转换,而从高位类型到低位类型需要进行强制类型转换。
boolean类型不能与其它的基本类型进行类型转换。
表达式中不同类型的数据先自动转换为同一类型,然后进行计算,自动转换总是从低位类型到高位类型:
1、当操作元中存在double类型的操作元时,所有操作元自动转换为double类型,表达式的值为double类型。
2、否则 float --> float 表达式返回 float
3、否则 long --> long long
4、否则 所有操作元自动转换为int类型,表达式的值为int类型。
注:byte,short和char类型的数据在如“x++”这样的一元运算中不自动转换类型。
Java语言允许把八进制数(以“0”开头)、十六进制(以“0x”开头)和十进制数赋值给整数类型变量。