java特点:一个整数是先当作int类型量处理,再赋值给变量。
三种字面值:
十进制缺省默认,八进制以0开始,十六进制以0x开始
把int 类型赋值给long类型,存在数值转换。但小容量可以自动转换为大容量,大容量转换成小容量需要加强制类型转换符(对byte、short、char类型而言,不超过其范围的可以直接赋给它),但这样可能造成严重的精度损失。转换的时候就是把二进制高位的数据砍掉。
long z=2147483648;
这句是错的,因为数值超过了int类型,所有数值都是先当作int类型处理的,再赋值给z。
要这样写:long z=2147483648L;就会先把它当作long类型处理。
本文详细阐述了Java中数值类型的转换规则,包括自动类型提升和强制类型转换。强调了当int类型数值超过其范围时,直接赋值给long类型变量会导致错误,必须使用后缀L来明确指定其为long类型。讨论了不同进制表示在Java中的使用,并指出小容量类型向大容量类型转换时可能会损失精度。

被折叠的 条评论
为什么被折叠?



