java特点:一个整数是先当作int类型量处理,再赋值给变量。
三种字面值:
十进制缺省默认,八进制以0开始,十六进制以0x开始
把int 类型赋值给long类型,存在数值转换。但小容量可以自动转换为大容量,大容量转换成小容量需要加强制类型转换符(对byte、short、char类型而言,不超过其范围的可以直接赋给它),但这样可能造成严重的精度损失。转换的时候就是把二进制高位的数据砍掉。
long z=2147483648;
这句是错的,因为数值超过了int类型,所有数值都是先当作int类型处理的,再赋值给z。
要这样写:long z=2147483648L;就会先把它当作long类型处理。