自动类型转换也叫隐式类型转换,自动类型提示经常出现在:
- 表达式中非相同的数据类型计算时
- 调用方法传递参数时
- 赋值与接收参数的变量类型不匹匹配时
- 方法返回值时
自动提升的过程其实是将低类型(占用字节数少)可以转换为高类型(占用字节数多)。
自动提升规则:
byte -> short -> int -> long -> float -> double
逆向过程:使用强制转换,可能丢失精度。参看下文强制转换示例
自动类型提升示例:
int类型自动转换为long类型、float类型自定转换double类型等等
/**
* 因为java对输入整数数字默认为整形,
* 所以整数10先完成类型装换,然后赋值给变量c
*/
long c = 10;
Java中整数(整数不包括小数)默认的数据类型是int类型,小数默认的数据类型为double,true或者false默认为boolean。单个字符默认的数据类型为char
强制转换示例
int b = (int) 2L;
byte d = (byte) '我';
float f = (float) 1.0;