数据类型转换
数据类型转换
.java程序中要求参与的计算的数据 必须要保证数据类型的一致性 如果数据类型不一致将发生类型的转换
自动类型转换
把一个类型取值范围小的数值直接赋给另一个取值范围大的数据类型变量时,系统就会进行自动类型转换
一个int类型变量和一个byte类型变量进行加法运算
int i=1; byte b=2;
运算结果 变量的类型将是int类型 这是出现了数据类型的自动类型转换现象
自动类型转换就好比将小瓶水倒入到大瓶的换装过程。我们将小瓶水倒入到大瓶中时,由于小瓶的容量比大瓶的容量小,所以倒入的水永远不可能溢出大瓶
int i=1; byte b=2; int c=i+b; System.out.println(c);
byte --> int 符合从小到大的规则,也发生了自动类型转换
强制类型转换
目标类型取值范围小于源类形时,自动类型转换无法进行,这是就需要强制类型转换
例子:强制类型转换就好比将大瓶水倒入到小瓶中一样,如果大瓶中的水的容量小于小瓶的大小,那么水是可以完全倒入的;否则多出来的水就会溢出。所以系统默认不支持这种行为,只能由开发者自己决定是否进行强制类型转换
特点:代码需要进行特殊的格式处理,不能自动完成
格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的类型
int i=1; long b=2; int c= (int) (i+b); System.out.println(c);
long-->int 不是从小到大 不能发生自动类转型 只能进行强转
数据类型转换注意事项
1.强转类型转换一般不推荐使用,因为有可能发生精度损失 数据流出
2.byte/short/char这三种类型都可以发生数字运算 例如加法
3.byte/short/char这三种类型在运算的时候 都会被首先提高成为int类型 然后再计算

浙公网安备 33010602011771号