1、强制类型转换一般不建议使用,因为可能导致发生精度损失、数据溢出。
2、byte\short\char在进行运算时,都会首先会被提升为int,然后再进行运算。
3、boolean不能进行类型转换。
注意事项:
1、byte/short/char 定义变量,如果进行赋值常量操作,如果右侧数据没有超过范围,JAVA编译器默认会隐含的为我们加上(byte/short/char),如果右侧超过了左侧,则编译器会报警。
2、在给变量进行赋值的时,如果右侧的表达式当中全部是常量,没有任何变量,那么编译器javac将会直接将若干个常量表达式计算得到结果。
short result = 5 + 8;//等号右边全部都是常量,没有任何变量参与运算,编译之后,得到的.class字节码文件当中相当于:short result = 13;
但是一旦表达式当中变量参与,那么编译器就不会进行这种优化。
例子:
short a = 5;
short b = 8;
short result = a + b;//错误写法,编译器会报错,左侧需要int类型。