8种简单类型:
byte | 1B(8位) | -128 ~ 127 | 0 | short | 2B(16位) | -215 ~ 215-1 | 0 | Int | 4B(32位) | -231 ~ 231-1 | 0 | long | 8B(64位) | -263 ~ 263-1 | 0 | char | 2B(16位) | 0 ~ 216-1 | \U0000 | float | 4B(32位) | 1.4013E-45 ~3.4028E+38 | 0.0F | double | 8B(64位) | 4.9E-324 ~1.7977E+308 | 0.0D | boolean | 1B(8位) | True, false | false |
注: 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”开头)和十进制数赋值给整数类型变量。
|