Java 类型转换
1. 自动类型转换
-
什么是自动类型转换,为什么要学习自动类型转换?
-
类型范围变小的变量,可以直接赋值给类型范围大的变量
-
自动类型转换的其他形式
-
2.表达式的自动类型转换
-
在表达式中,小范围类型的变量会自动转换成当前较大范围的类型在运算
注意事项
- 表达式的最终结果类型由表达式中的最高类型决定
- 在表达式中,byte,short,char是直接转换成int类型参与运算的
总结
- 表达式的自动类型转换是什么样的?
- 小范围的类型会自动转换成大范围的类型运算
- 表达式的最终结果类型是由谁决定的?
- 最终类型由表达式中的最高类型决定
- 表达式的那些类型转化是需要注意的?
- byte,short,char是直接转换成int类型参与运算的。
3. 强制类型转换
问题
- 类型范围大的数据或者变量,不能直接复制给类型范围小的变量,会报错
强制类型转换
-
可以强行将类型范围大的变量,数据赋值给类型范围小的变量
数据类型 变量2 = (数据类型)变量1、数据
int number = 23; byte bt = (byte)number;
注意事项
- 强制类型转换可能造成数据(丢失)溢出
- 浮点型强转整型,直接丢掉小数部分,保留整数部分返回
double score = 99.5;
int it = (int)score;
System.out.println(it); //输出99;强转之后直接丢掉小数部分
4.总结
- 什么是强制类型转换
- 可以强行将类型范围大的数据,赋值给类型范围小的变量
- 数据类型 变量2 = (数据类型)变量1、数据
2.强制类型转换有哪些需要注意的?
- 可能出现数据丢失
- 小数强制转换成整数是直接截断小数保留整数。