第14节 小类型向大类型转换
1、概述
在Java数值运算中,经常会出现不同类型的数据相互转换的现象,
例如我们前面举过的一个案例,第一个字节类型的变量b1存储一个整数,下面定义字节类型变量b2,java语言默认整数运算是int类型运算即结果是int类型,因此b1+10的结果会自动转换为int类型,那么int类型数据往小类型-字节类型变量中存储,就需要进行类型转换,否则会出现编译期的语法错误。2、小类型向大类型转换
注意:
1、这里的小类型指的是数值的范围小,大类型指的是数值范围大。
2、int和char类型的数据在某些情况下可以自动完成转换。
1、我们定义一个int类型变量叫i,存储一个值-2,
2、定义一个长整型变量叫l,把i的值赋值给了l,现在变量i里的-2就赋值存储到了变量l里,
3、-2在int类型里是四个字节32位,长整型的变量是八个字节64位,高位会补上1,打印一下i的值和i的二进制值,用Integer包装类中toBinaryString,把变量i由十进制转换为二进制,
4、对比输出一下l的值和把l转成二进制的值,
5、运行结果如下:
第一行就是-2,如果诸位取反再加一的话,那么结果就是10即+2,
第二行这个值存放到了lang类型中,高32位会自动补一,后32位是原来的-2这个值。


