整型数据类型简介
在 Java 中,一个 int 型变量占 32 字节,能表示的数据范围为 -2³¹~2³¹-1 之间的整数,即十进制中 -2147483648 至 2147483647 之间的整数。但在可能出现溢出时,编译器通常是不会报错的。这就需要我们对溢出有初步了解,从而减少代码中的错误。
发生溢出举例
在有的编译器中,如果直接对一个整型变量赋值一个绝对值超越其表示范围的值时会报错。此类错误也最容易被发现。
而有时,是计算结果导致溢出,这时编译器不会报错。样例如下:
public class test{
public static void main(String args[]){
int a = 8000*6000*5000*7000*9000*3000;
System.out.println(a);
}
}
运行结果如下:
有时,在程序运行中也会发生类似的情况。例如下列求斐波那切数列的程序中,从第 47 项开始就会因为数字过大而造成溢出:
public class test{
public static void main(String args[]){
for(int i=1;i<110;i++){
System.out.println("斐波那契数列第"+i+"项为"+FBNQ(i));
}
}
public static int FBNQ(int num){
if(num==1 || num==2){
return 1;
}
else{
return FBNQ(num-1)+FBNQ(num-2);
}
}
}