整形:
Java中,任何一个整型常量都是int类型
Java中声明long常量,需要在数字后添加L(l)
范围小的数据类型可以自动提升为范围大的数据类型(进行数学运算时)
范围大的数据类型只有强转才能转为范围小的数据类型(可能存在精度丢失问题)
所有数据类型默认值需要结合类来观察,方法中的局部变量不存在默认值(局部变量必须先赋值后使用)
public class Test{
public static void main(String[] args){
int maxValue=Integer.MAX_VALUE; //2147483647
int minValue=Integer.MIN_VALUE; //-2147483648
long num1=maxValue+2;
long num2=maxValue+2l;
long num3=minValue-2;
long num4=minValue-2l;
long num=2147483648l;
int result1=(int) num;
// int result2=num; //不兼容的类型,数据丢失,编译报错
System.out.println(num1); //-2147483647
System.out.println(num2); //2147483649
System.out.println(num3); //2147483646
System.out.println(num4); //-2147483650
System.out.println(result1); //-2147483648
// System.out.println(result2);
}
}

byte与int:
若整型常量在byte保存范围内,整型常量可以直接赋值给byte变量无须强转。
否则int->byte必须要强转(整型常量值超出byte范围、将整形变量赋值给byte变量)
byte data=(byte)300;
data=44;
本文深入探讨Java中整型数据类型的特性与转换规则,包括int与long类型的使用,自动类型提升,以及从int到byte的强制转换。通过具体代码示例,展示了整型常量在不同范围内的表现及潜在的精度损失问题。
4万+

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



