Java语言在运算时要类型转换
Long是64位而float是32位但因float是浮点类型,因此比整数类型高
在运算中,不同类型的数据先转化为同一类型,然后在进行运算
强制类型转换
简单来说高类型的转化为低类型的
注;在转换过程中也要注意内存溢出的问题
因为byte是-128到127而这里超出了,因此要尽量避免内存溢出的情况
自动类型转换
这与强制转换相反这是由低转换为高
在我们运算时也要注意内存意出的问题
上图两个输出的结果应该相同的但为什么一个内存溢出了一个没有
解答;第二个虽然是用long令的a7但那是计算完后才转换为long类型,也就是说两个乘完时还是int类型这时已经溢出了之后才转换为long类型
而a3之所以是对的是因为在计算完成前就将a1或a2转换为了long类型